aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-03-04 23:05:01 +0100
committerMarius Bakke <mbakke@fastmail.com>2019-03-04 23:05:01 +0100
commitb4d7689f9255b93b9ea02e01dc490f1416f77782 (patch)
tree82c81af4181d5a31555eb5829ba36e5d1a74f414
parentdd7ce8643a28f5d633c5f3124de6be897cd5065f (diff)
parent6d3cff5acacecc240b1d86048e41df3ce26483a5 (diff)
downloadpatches-b4d7689f9255b93b9ea02e01dc490f1416f77782.tar
patches-b4d7689f9255b93b9ea02e01dc490f1416f77782.tar.gz
Merge branch 'staging' into core-updates
-rw-r--r--doc/contributing.fr.texi539
-rw-r--r--doc/guix.fr.texi8396
-rw-r--r--doc/guix.texi38
-rw-r--r--gnu/build/activation.scm6
-rw-r--r--gnu/local.mk5
-rw-r--r--gnu/packages/admin.scm15
-rw-r--r--gnu/packages/arcan.scm179
-rw-r--r--gnu/packages/audio.scm32
-rw-r--r--gnu/packages/bioconductor.scm29
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/calcurse.scm29
-rw-r--r--gnu/packages/chromium.scm4
-rw-r--r--gnu/packages/coq.scm24
-rw-r--r--gnu/packages/cran.scm21
-rw-r--r--gnu/packages/databases.scm19
-rw-r--r--gnu/packages/django.scm44
-rw-r--r--gnu/packages/emacs-xyz.scm91
-rw-r--r--gnu/packages/emacs.scm7
-rw-r--r--gnu/packages/glib.scm4
-rw-r--r--gnu/packages/gnome.scm10
-rw-r--r--gnu/packages/java-maths.scm89
-rw-r--r--gnu/packages/java.scm10
-rw-r--r--gnu/packages/mail.scm2
-rw-r--r--gnu/packages/music.scm4
-rw-r--r--gnu/packages/networking.scm5
-rw-r--r--gnu/packages/patches/libopenshot-fixup-tests.patch148
-rw-r--r--gnu/packages/patches/lyx-2.2.3-fix-test.patch13
-rw-r--r--gnu/packages/patches/thermald-make-int-max32-visible.patch24
-rw-r--r--gnu/packages/python-web.scm4
-rw-r--r--gnu/packages/python-xyz.scm66
-rw-r--r--gnu/packages/rails.scm28
-rw-r--r--gnu/packages/ruby.scm700
-rw-r--r--gnu/packages/samba.scm26
-rw-r--r--gnu/packages/sdl.scm5
-rw-r--r--gnu/packages/tex.scm701
-rw-r--r--gnu/packages/tls.scm29
-rw-r--r--gnu/packages/video.scm54
-rw-r--r--gnu/packages/virtualization.scm11
-rw-r--r--gnu/packages/vpn.scm66
-rw-r--r--gnu/packages/web.scm140
-rw-r--r--gnu/packages/webkit.scm4
-rw-r--r--gnu/packages/wine.scm17
-rw-r--r--gnu/packages/xorg.scm8
-rw-r--r--gnu/services/cuirass.scm4
-rw-r--r--gnu/services/monitoring.scm4
-rw-r--r--gnu/services/rsync.scm2
-rw-r--r--gnu/services/ssh.scm4
-rw-r--r--gnu/tests/base.scm2
-rw-r--r--guix/scripts/environment.scm12
-rw-r--r--po/doc/guix-manual.fr.po1886
-rw-r--r--tests/guix-environment.sh14
51 files changed, 8308 insertions, 5270 deletions
diff --git a/doc/contributing.fr.texi b/doc/contributing.fr.texi
index 502de9f7f0..8900c7c704 100644
--- a/doc/contributing.fr.texi
+++ b/doc/contributing.fr.texi
@@ -25,6 +25,7 @@ quel nom ou pseudonyme de leur choix.
* Construire depuis Git:: toujours le plus récent.
* Lancer Guix avant qu'il ne soit installé:: Astuces pour les hackers.
* La configuration parfaite:: Les bons outils.
+* Consignes d'empaquetage:: Faire grandir la distribution.
* Style de code:: Hygiène du contributeur.
* Envoyer des correctifs:: Partager votre travail.
@end menu
@@ -99,7 +100,7 @@ valeur @code{localstatedir} utilisée par votre installation actuelle
Finalement, vous devez invoquer @code{make check} pour lancer les tests
(@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil
aux instructions d'installation (@pxref{Installation}) ou envoyez un message
-à la list @email{guix-devel@@gnu.org}.
+à la liste @email{guix-devel@@gnu.org}.
@node Lancer Guix avant qu'il ne soit installé
@@ -169,12 +170,15 @@ arborescence des source locale.
@node La configuration parfaite
@section La configuration parfaite
-La configuration parfaite pour travailler sur Guix est simplement la
-configuration parfaite pour travailler en Guile (@pxref{Using Guile in
-Emacs,,, guile, Guile Reference Manual}). Tout d'abord, vous avez besoin de
-mieux qu'un éditeur de texte, vous avez besoin de
-@url{http://www.gnu.org/software/emacs, Emacs}, amélioré par le superbe
-@url{http://nongnu.org/geiser/, Geiser}.
+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{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful
+@url{http://nongnu.org/geiser/, Geiser}. To set that up, run:
+
+@example
+guix package -i emacs guile emacs-geiser
+@end example
Geiser permet le développement interactif et incrémental depuis Emacs : la
compilation du code et son évaluation depuis les buffers, l'accès à la
@@ -229,6 +233,461 @@ déclenchement @code{origin…}, qui peut aussi être étendue. L'extrait
finissent sur @code{…}, qui peuvent aussi être étendues.
+@node Consignes d'empaquetage
+@section Consignes d'empaquetage
+
+@cindex paquets, création
+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.
+
+Les paquets de logiciels libres sont habituellement distribués sous forme
+@dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz}
+contenant tous les fichiers sources. Ajouter un paquet à la distribution
+signifie essentiellement deux choses : ajouter une @dfn{recette} qui décrit
+comment construire le paquet, avec une liste d'autres paquets requis pour le
+construire, et ajouter des @dfn{métadonnées de paquet} avec la recette,
+comme une description et une licence.
+
+Dans Guix, toutes ces informations sont incorporées dans les
+@dfn{définitions de paquets}. Les définitions de paquets fournissent une
+vue de haut-niveau du paquet. Elles sont écrites avec la syntaxe du langage
+de programmation Scheme ; en fait, pour chaque paquet nous définissons une
+variable liée à la définition et exportons cette variable à partir d'un
+module (@pxref{Modules de paquets}). Cependant, il n'est @emph{pas} nécessaire
+d'avoir une connaissance approfondie du Scheme pour créer des paquets. Pour
+plus d'informations sur les définitions des paquets, @pxref{Définition des paquets}.
+
+Une fois une définition de paquet en place, stocké dans un fichier de
+l'arborescence des sources de Guix, il peut être testé avec la commande
+@command{guix build} (@pxref{Invoquer guix build}). Par exemple, en
+supposant que le nouveau paquet s'appelle @code{gnew}, vous pouvez lancer
+cette commande depuis l'arborescence de construction de Guix (@pxref{Lancer Guix avant qu'il ne soit installé}) :
+
+@example
+./pre-inst-env guix build gnew --keep-failed
+@end example
+
+Utiliser @code{--keep-failed} rend facile le débogage des échecs car il
+fournit l'accès à l'arborescence de construction qui a échouée. Une autre
+sous-commande utile pour le débogage est @code{--log-file}, pour accéder au
+journal de construction.
+
+Si le paquet n'est pas connu de la commande @command{guix}, il se peut que
+le fichier source ait une erreur de syntaxe, ou qu'il manque une clause
+@code{define-public} pour exporter la variable du paquet. Pour comprendre
+cela, vous pouvez charger le module depuis Guile pour avoir plus
+d'informations sur la véritable erreur :
+
+@example
+./pre-inst-env guile -c '(use-modules (gnu packages gnew))'
+@end example
+
+Once your package builds correctly, please send us a patch
+(@pxref{Envoyer des correctifs}). 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{http://hydra.gnu.org/jobset/gnu/master, our continuous integration
+system}.
+
+@cindex substitution
+Users can obtain the new package definition simply by running @command{guix
+pull} (@pxref{Invoquer guix pull}). When @code{@value{SUBSTITUTE-SERVER}}
+is done building the package, installing the package automatically downloads
+binaries from there (@pxref{Substituts}). The only place where human
+intervention is needed is to review and apply the patch.
+
+
+@menu
+* Liberté logiciel:: Ce que la distribution peut contenir.
+* Conventions de nommage:: Qu'est-ce qu'un bon nom ?
+* Numéros de version:: Lorsque le nom n'est pas suffisant.
+* Synopsis et descriptions:: Aider les utilisateurs à trouver le bon
+ paquet.
+* Modules python:: Un peu de comédie anglaise.
+* Modules perl:: Petites perles.
+* Paquets java:: Pause café.
+* Polices de caractères:: À fond les fontes.
+@end menu
+
+@node Liberté logiciel
+@subsection Liberté logiciel
+
+@c ===========================================================================
+@c
+@c This file was generated with po4a. Translate the source file.
+@c
+@c ===========================================================================
+@c Adapted from http://www.gnu.org/philosophy/philosophy.html.
+@cindex logiciel libre
+Le système d'exploitation GNU a été développé pour que les utilisateurs
+puissent utiliser leur ordinateur en toute liberté. GNU est un
+@dfn{logiciel libre}, ce qui signifie que les utilisateur ont les
+@url{http://www.gnu.org/philosophy/free-sw.fr.html,quatre libertés
+essentielles} : exécuter le programmer, étudier et modifier le programme
+sous sa forme source, redistribuer des copies exactes et distribuer les
+versions modifiées. Les paquets qui se trouvent dans la distribution GNU ne
+fournissent que des logiciels qui respectent ces quatre libertés.
+
+En plus, la distribution GNU suit les
+@url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,recommandations
+pour les distributions systèmes libres}. Entre autres choses, ces
+recommandations rejettent les microgiciels non libres, les recommandations
+de logiciels non libres et discute des façon de gérer les marques et les
+brevets.
+
+Certaines sources amont autrement parfaitement libres contiennent une petite
+partie facultative qui viole les recommandations ci-dessus, par exemple car
+cette partie est du code non-libre. Lorsque cela arrive, les éléments en
+question sont supprimés avec des correctifs ou des bouts de codes appropriés
+dans la forme @code{origin} du paquet (@pxref{Définition des paquets}). De cette
+manière, @code{guix build --source} renvoie la source « libérée » plutôt que
+la source amont sans modification.
+
+
+@node Conventions de nommage
+@subsection Conventions de nommage
+
+@cindex nom du paquet
+Un paquet a en fait deux noms qui lui sont associés : d'abord il y a le nom
+de la @emph{variable Scheme}, celui qui suit @code{define-public}. Par ce
+nom, le paquet peut se faire connaître par le code Scheme, par exemple comme
+entrée d'un autre paquet. Deuxièmement, il y a la chaîne dans le champ
+@code{name} d'une définition de paquet. Ce nom est utilisé par les
+commandes de gestion des paquets comme @command{guix package} et
+@command{guix build}.
+
+Les deux sont habituellement les mêmes et correspondent à la conversion en
+minuscule du nom du projet choisi en amont, où les underscores sont
+remplacés par des tirets. Par exemple, GNUnet est disponible en tant que
+@code{gnunet} et SDL_net en tant que @code{sdl-net}.
+
+Nous n'ajoutons pas de préfixe @code{lib} au bibliothèques de paquets, à
+moins qu'il ne fasse partie du nom officiel du projet. Mais @pxref{Modules python} et @ref{Modules perl} pour des règles spéciales concernant les
+modules pour les langages Python et Perl.
+
+Les noms de paquets de polices sont gérés différemment, @pxref{Polices de caractères}.
+
+
+@node Numéros de version
+@subsection Numéros de version
+
+@cindex version du paquet
+Nous n'incluons en général que la dernière version d'un projet de logiciel
+libre donné. Mais parfois, par exemple pour des versions incompatibles de
+bibliothèques, deux (ou plus) versions du même paquet sont requises. Elles
+ont besoin d'un nom de variable Scheme différent. Nous utilisons le nom
+défini dans @ref{Conventions de nommage} pour la version la plus récente ; les
+versions précédentes utilisent le même nom, suffixé par @code{-} et le plus
+petit préfixe du numéro de version qui permet de distinguer deux versions.
+
+Le nom dans la définition du paquet est le même pour toutes les versions
+d'un paquet et ne contient pas de numéro de version.
+
+Par exemple, les version 2.24.20 et 3.9.12 de GTK+ peuvent être inclus de
+cette manière :
+
+@example
+(define-public gtk+
+ (package
+ (name "gtk+")
+ (version "3.9.12")
+ ...))
+(define-public gtk+-2
+ (package
+ (name "gtk+")
+ (version "2.24.20")
+ ...))
+@end example
+Si nous voulons aussi GTK+ 3.8.2, cela serait inclus de cette manière :
+@example
+(define-public gtk+-3.8
+ (package
+ (name "gtk+")
+ (version "3.8.2")
+ ...))
+@end example
+
+@c See <https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>,
+@c for a discussion of what follows.
+@cindex numéro de version, pour les instantanés des systèmes de contrôle de version
+Parfois, nous incluons des paquets provenant d'instantanés de systèmes de
+contrôle de version (VCS) au lieu de versions publiées formellement. Cela
+devrait rester exceptionnel, car c'est le rôle des développeurs amont de
+spécifier quel est la version stable. Cependant, c'est parfois nécessaire.
+Donc, que faut-il mettre dans le champ @code{version} ?
+
+Clairement, nous devons rendre l'identifiant de commit de l'instantané du
+VCS visible dans la version, mais nous devons aussi nous assurer que la
+version augmente de manière monotone pour que @command{guix package
+--upgrade} puisse déterminer quelle version est la plus récente. Comme les
+identifiants de commits, notamment avec Git, n'augmentent pas, nous ajoutons
+un numéro de révision qui nous augmentons à chaque fois que nous mettons à
+jour vers un nouvel instantané. La chaîne qui en résulte ressemble à cela :
+
+@example
+2.0.11-3.cabba9e
+ ^ ^ ^
+ | | `-- ID du commit en amont
+ | |
+ | `--- révision du paquet Guix
+ |
+dernière version en amont
+@end example
+
+C'est une bonne idée de tronquer les identifiants dans le champ
+@code{version} à disons 7 caractères. Cela évite un problème esthétique (en
+supposant que l'esthétique ait un rôle à jouer ici) et des problèmes avec
+les limites de l'OS comme la longueur maximale d'un shebang (127 octets pour
+le noyau Linux). Il vaut mieux utilise l'identifiant de commit complet dans
+@code{origin} cependant, pour éviter les ambiguïtés. Une définition de
+paquet peut ressembler à ceci :
+
+@example
+(define my-package
+ (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
+ (revision "1")) ;révision du paquet Guix
+ (package
+ (version (git-version "0.9" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://example.org/my-package.git")
+ (commit commit)))
+ (sha256 (base32 "1mbikn@dots{}"))
+ (file-name (git-file-name name version))))
+ ;; @dots{}
+ )))
+@end example
+
+@node Synopsis et descriptions
+@subsection Synopsis et descriptions
+
+@cindex description du paquet
+@cindex résumé du paquet
+Comme nous l'avons vu avant, chaque paquet dans GNU@tie{}Guix contient un
+résumé et une description (@pxref{Définition des paquets}). Les résumés et les
+descriptions sont importants : ce sont eux que recherche @command{guix
+package --search}, et c'est une source d'informations cruciale pour aider
+les utilisateurs à déterminer si un paquet donner correspond à leurs
+besoins. En conséquence, les mainteneurs doivent prêter attention à leur
+contenu.
+
+Les résumés doivent commencer par une lettre capitale et ne doit pas finir
+par un point. Ils ne doivent pas commencer par « a » ou « the » (« un » ou
+« le/la »), ce qui n'apporte généralement rien ; par exemple, préférez «
+File-frobbing tool » (« Outil de frobage de fichier ») à « A tool that frobs
+file » (« Un outil qui frobe les fichiers »). Le résumé devrait dire ce que
+le paquet est — p.@: ex.@: « Utilitaire du cœur de GNU (fichier, text,
+shell) » — ou ce à quoi il sert — p.@: ex.@: le résumé de grep est « Affiche
+des lignes correspondant à un motif ».
+
+Gardez à l'esprit que le résumé doit avoir un sens pour une large audience.
+Par exemple « Manipulation d'alignements au format SAM » peut avoir du sens
+pour un bioinformaticien chevronné, mais n'aidera pas ou pourra perdre une
+audience de non-spécialistes. C'est une bonne idée de créer un résumé qui
+donne une idée du domaine d'application du paquet. Dans cet exemple, cela
+donnerait « Manipulation d'alignements de séquences de nucléotides », ce qui
+devrait donner une meilleure idée à l'utilisateur pour savoir si c'est ce
+qu'il recherche.
+
+Les descriptions devraient faire entre cinq et dix lignes. Utilisez des
+phrases complètes, et évitez d'utiliser des acronymes sans les introduire
+d'abord. Évitez les phrases marketings comme « world-leading », «
+industrial-strength » et « next-generation » et évitez les superlatifs comme
+« the most advanced » — ils ne sont pas utiles pour les utilisateurs qui
+cherchent un paquet et semblent même un peu suspects. À la place, essayez
+d'être factuels, en mentionnant les cas d'utilisation et les
+fonctionnalités.
+
+@cindex balisage texinfo, dans les descriptions de paquets
+Les descriptions peuvent inclure du balisage Texinfo, ce qui est utile pour
+introduire des ornements comme @code{@@code} ou @code{@@dfn}, des listes à
+points ou des hyperliens (@pxref{Overview,,, texinfo, GNU Texinfo}).
+Cependant soyez prudents lorsque vous utilisez certains symboles, par
+exemple @samp{@@} et les accolades qui sont les caractères spéciaux de base
+en Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). Les
+interfaces utilisateurs comme @command{guix package --show} prennent en
+charge le rendu.
+
+Les résumés et les descriptions sont traduits par des volontaires
+@uref{http://translationproject.org/domain/guix-packages.html, sur le projet
+de traduction} pour que le plus d'utilisateurs possible puissent les lire
+dans leur langue natale. Les interfaces utilisateurs les recherchent et les
+affichent dans la langue spécifiée par le paramètre de régionalisation
+actuel.
+
+Pour permettre à @command{xgettext} de les extraire comme des chaînes
+traduisibles, les résumés et les descriptions @emph{doivent être des chaînes
+litérales}. Cela signifie que vous ne pouvez pas utiliser
+@code{string-append} ou @code{format} pour construire ces chaînes :
+
+@lisp
+(package
+ ;; @dots{}
+ (synopsis "Ceci est traduisible")
+ (description (string-append "Ceci n'est " "*pas*" " traduisible.")))
+@end lisp
+
+La traduction demande beaucoup de travail, donc en tant que packageur,
+faîtes encore plus attention à vos résumés et descriptions car chaque
+changement peut demander d'autant plus de travail de la part des
+traducteurs. Pour les aider, il est possible de donner des recommandations
+ou des instructions qu'ils pourront voir en insérant des commentaires
+spéciaux comme ceci (@pxref{xgettext Invocation,,, gettext, GNU Gettext}) :
+
+@example
+;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
+(description "ARandR is designed to provide a simple visual front end
+for the X11 resize-and-rotate (RandR) extension. @dots{}")
+@end example
+
+
+@node Modules python
+@subsection Modules python
+
+@cindex python
+Nous incluons actuellement Python 2 et Python 3, sous les noms de variables
+Scheme @code{python-2} et @code{python} comme expliqué dans @ref{Numéros de version}. Pour éviter la confusion et les problèmes de noms avec d'autres
+langages de programmation, il semble désirable que le nom d'un paquet pour
+un module Python contienne le mot @code{python}.
+
+Certains modules ne sont compatibles qu'avec une version de Python, d'autres
+avec les deux. Si le paquet Foo ne compile qu'avec Ptyhon 3, on le nomme
+@code{python-foo} ; s'il ne compile qu'avec Python 2, on le nome
+@code{python2-foo}. S'il est compatible avec les deux versions, nous créons
+deux paquets avec les noms correspondant.
+
+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.
+
+@subsubsection Spécifier les dépendances
+@cindex entrées, pour les paquets Python
+
+Les informations de dépendances pour les paquets Python se trouvent
+généralement dans l'arborescence des source du paquet, avec plus ou moins de
+précision : dans le fichier @file{setup.py}, dans @file{requirements.txt} ou
+dans @file{tox.ini}.
+
+Votre mission, lorsque vous écrivez une recette pour un paquet Python, est
+de faire correspondre ces dépendances au bon type « d'entrée »
+(@pxref{Référence de paquet, inputs}). Bien que l'importeur @code{pypi} fasse
+du bon boulot (@pxref{Invoquer guix import}), vous devriez vérifier la liste
+suivant pour déterminer où va telle dépendance.
+
+@itemize
+
+@item
+Nous empaquetons Python 2 avec @code{setuptools} et @code{pip} installé
+comme Python 3.4 par défaut. Ainsi, vous n'avez pas à spécifié ces
+entrées. @command{guix lint} vous avertira si vous faîtes cela.
+
+@item
+Les dépendances Python requises à l'exécutions vont dans
+@code{propagated-inputs}. Elles sont typiquement définies dans le mot-clef
+@code{install_requires} dans @file{setup.py} ou dans le fichier
+@file{requirements.txt}.
+
+@item
+Les paquets Python requis uniquement à la construction — p.@: ex.@: ceux
+listés dans le mot-clef @code{setup_requires} de @file{setup.py} — ou
+seulement pour les tests — p.@: ex.@: ceux dans @code{tests_require} — vont
+dans @code{native-inputs}. La raison est qu'ils n'ont pas besoin d'être
+propagés car ils ne sont pas requis à l'exécution et dans le cas d'une
+compilation croisée, c'est l'entrée « native » qu'il nous faut.
+
+Les cadriciels de tests @code{pytest}, @code{mock} et @code{nose} sont des
+exemples. Bien sûr si l'un de ces paquets est aussi requis à l'exécution,
+il doit aller dans @code{propagated-inputs}.
+
+@item
+Tout ce qui ne tombe pas dans les catégories précédentes va dans
+@code{inputs}, par exemple des programmes pour des bibliothèques C requises
+pour construire des paquets Python avec des extensions C.
+
+@item
+Si un paquet Python a des dépendances facultatives (@code{extras_require}),
+c'est à vous de décider de les ajouter ou non, en fonction du ratio entre
+utilité et complexité (@pxref{Envoyer des correctifs, @command{guix size}}).
+
+@end itemize
+
+
+@node Modules perl
+@subsection Modules perl
+
+@cindex perl
+Les programmes Perl utiles en soit sont nommés comme les autres paquets,
+avec le nom amont en minuscule. Pour les paquets Perl contenant une seule
+classe, nous utilisons le nom de la classe en minuscule, en remplaçant les
+occurrences de @code{::} par des tirets et en préfixant le tout par
+@code{perl-}. Donc la classe @code{XML::Parser} devient
+@code{perl-xml-parser}. Les modules contenant plusieurs classes gardent
+leur nom amont en minuscule et sont aussi préfixés par @code{perl-}. Ces
+modules tendent à avoir le mot @code{perl} quelque part dans leur nom, que
+nous supprimons en faveur du préfixe. Par exemple, @code{libwww-perl}
+devient @code{perl-libwww}.
+
+
+@node Paquets java
+@subsection Paquets java
+
+@cindex java
+Le programmes Java utiles en soit sont nommés comme les autres paquets, avec
+le nom amont en minuscule.
+
+Pour éviter les confusions et les problèmes de nom avec d'autres langages de
+programmation, il est désirable que le nom d'un paquet Java soit préfixé par
+@code{java-}. Si un projet contient déjà le mot @code{java}, nous le
+supprimons, par exemple le paquet @code{ngsjava} est empaqueté sous le nom
+@code{java-ngs}.
+
+Pour les paquets java contenant une seul classe ou une petite hiérarchie de
+classes, nous utilisons le nom de la classe en minuscule, en remplaçant les
+occurrences de @code{.} par des tirets et en préfixant le tout par
+@code{java-}. Donc la classe @code{apache.commons.cli} devient
+@code{java-apache-commons-cli}.
+
+
+@node Polices de caractères
+@subsection Polices de caractères
+
+@cindex polices
+Pour les polices qui n esont en général par installées par un utilisateurs
+pour du traitement de texte, ou qui sont distribuées en tant que partie d'un
+paquet logiciel plus gros, nous nous appuyons sur les règles générales pour
+les logiciels ; par exemple, cela s'applique aux polices livrées avec le
+système X.Org ou les polices qui font partie de TeX Live.
+
+Pour rendre plus facile la recherche par l'utilisateur, les noms des autres
+paquets contenant seulement des polices sont construits ainsi,
+indépendamment du nom du paquet en amont.
+
+Le nom d'un paquet contenant une unique famille de polices commence par
+@code{font-} ; il est suivi du nom du fondeur et d'un tiret @code{-} si le
+fondeur est connu, et du nom de la police, dont les espaces sont remplacés
+par des tirets (et comme d'habitude, toutes les lettres majuscules sont
+transformées en minuscules). Par exemple, la famille de polices Gentium de
+SIL est empaqueté sous le nom @code{font-sil-gentium}.
+
+Pour un paquet contenant plusieurs familles de polices, le nom de la
+collection est utilisée à la place du nom de la famille. Par exemple les
+polices Liberation consistent en trois familles, Liberation Sans, Liberation
+Serif et Liberation Mono. Elles pourraient être empaquetées séparément sous
+les noms @code{font-liberation-sans} etc, mais comme elles sont distribuées
+ensemble sous un nom commun, nous préférons les empaqueter ensemble en tant
+que @code{font-liberation}.
+
+Dans le cas où plusieurs formats de la même famille ou collection sont
+empaquetés séparément, une forme courte du format, préfixé d'un tiret est
+ajouté au nom du paquet. Nous utilisont @code{-ttf} pour les polices
+TrueType, @code{-otf} pour les polices OpenType et @code{-type1} pour les
+polices Type 1 de PostScript.
+
+
@node Style de code
@section Style de code
@@ -323,9 +782,8 @@ vous l'entrez. En plus,
@code{paredit.vim}} peut vous aider à gérer toutes ces parenthèses.
Nous demandons que toutes les procédure de premier niveau contiennent une
-chaîne de documentation. Ce pré-requis peut être relâché pour les
-procédures privées simples dans l'espace de nom @code{(guix build @dots{})}
-cependant.
+chaîne de documentation. Ce prérequis peut être relâché pour les procédures
+privées simples dans l'espace de nom @code{(guix build @dots{})} cependant.
Les procédures ne devraient pas avoir plus de quatre paramètres
positionnés. Utilisez des paramètres par mot-clefs pour les procédures qui
@@ -376,6 +834,33 @@ Assurez-vous que le paquet se construise sur votre plate-forme avec
@code{guix build @var{paquet}}.
@item
+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 following service to the list of services in
+your @code{operating-system} configuration:
+
+@example
+(service qemu-binfmt-service-type
+ (qemu-binfmt-configuration
+ (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el"))
+ (guix-support? #t)))
+@end example
+
+Then reconfigure your system.
+
+You can then build packages for different platforms by specifying the
+@code{--system} option. For example, to build the "hello" package for the
+armhf, aarch64, powerpc, or mips64 architectures, you would run the
+following commands, respectively:
+@example
+guix build --system=armhf-linux --rounds=2 hello
+guix build --system=aarch64-linux --rounds=2 hello
+guix build --system=powerpc-linux --rounds=2 hello
+guix build --system=mips64el-linux --rounds=2 hello
+@end example
+
+@item
@cindex construction groupée
Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà
disponible dans un paquet séparé.
@@ -391,21 +876,18 @@ depuis un unique emplacement et qu'ils affectent tout le système, ce
qu'empêchent les copies groupées.
@item
-Regardez le profile rapporté par @command{guix size} (@pxref{Invoquer guix size}). Cela vous permettra de remarquer des références à d'autres paquets
-qui ont été retenus. Il peut aussi aider à déterminer s'il faut découper le
-paquet (@pxref{Des paquets avec plusieurs résultats}) et quelle dépendance
-facultative utiliser.
+Take a look at the profile reported by @command{guix size} (@pxref{Invoquer 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{Des paquets avec plusieurs résultats}), and which optional
+dependencies should be used. In particular, avoid adding @code{texlive} as
+a dependency: because of its extreme size, use @code{texlive-tiny} or
+@code{texlive-union} instead.
@item
Pour les changements important, vérifiez que les paquets qui en dépendent
(s'ils existent) ne sont pas affectés par le changement ; @code{guix refresh
--list-dependant @var{paquet}} vous aidera (@pxref{Invoquer guix refresh}).
-@c ===========================================================================
-@c
-@c This file was generated with po4a. Translate the source file.
-@c
-@c ===========================================================================
@c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>.
@cindex stratégie de branche
@cindex stratégie de planification des reconstructions
@@ -418,7 +900,7 @@ principes :
branche @code{master} (changements non-disruptifs).
@item entre 300 et 1 200 paquets dépendants
-branche @code{staging} (changemets non-disruptifs). Cette branche devrait
+branche @code{staging} (changements non-disruptifs). Cette branche devrait
être fusionnées dans @code{master} tous les 3 semaines. Les changements par
thèmes (par exemple une mise à jour de la pile GNOME) peuvent aller dans une
branche spécifique (disons, @code{gnome-updates}).
@@ -460,15 +942,14 @@ Cela est suffisant pour trouver une classe de non-déterminisme commune,
comme l'horodatage ou des sorties générées aléatoirement dans le résultat de
la construction.
-Une autre option consiste à utiliser @command{guix challenge}
-(@pxref{Invoquer guix challenge}). Vous pouvez lancer la commande une fois
-que les paquets ont été commités et construits par @code{hydra.gnu.org} pour
-vérifier s'il obtient le même résultat que vous. Mieux encore : trouvez une
-autre machine qui peut le construire et lancez @command{guix publish}. Puis
-la machine distante est sûrement différente de la vôtre, cela peut trouver
-des problèmes de non-déterminisme liés au matériel — par exemple utiliser
-une extension du jeu d'instruction — ou du noyau du système d'exploitation —
-par exemple se reposer sur @code{uname} ou les fichiers de @file{/proc}.
+Another option is to use @command{guix challenge} (@pxref{Invoquer guix challenge}). You may run it once the package has been committed and built
+by @code{@value{SUBSTITUTE-SERVER}} 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.
@item
Lorsque vous écrivez de la documentation, utilisez une formulation au genre
diff --git a/doc/guix.fr.texi b/doc/guix.fr.texi
index c8a01f18c6..4ef3c1a0ff 100644
--- a/doc/guix.fr.texi
+++ b/doc/guix.fr.texi
@@ -20,21 +20,25 @@
@set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
@set KEY-SERVER pool.sks-keyservers.net
+@c The official substitute server used by default.
+@set SUBSTITUTE-SERVER ci.guix.fr.info
+
@copying
-Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 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{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019
+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
-Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo
+Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo
Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{}
2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018
Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright
@copyright{} 2016, 2017 Nils Gillmann@* Copyright @copyright{} 2016, 2017,
-2018 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@*
-Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017,
-2018 Clément Lassieur@* Copyright @copyright{} 2017, 2018 Mathieu Othacehe@*
+2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@*
+Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016,
+2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018
+Clément Lassieur@* Copyright @copyright{} 2017, 2018 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
@@ -62,7 +66,7 @@ Documentation License ».
@direntry
* Guix: (guix.fr). Gérer les logiciels installés et la
configuration du système.
-* guix package : (guix.fr)Invoquer guix package. Intaller, supprimer et
+* guix package : (guix.fr)Invoquer guix package. Installer, supprimer et
mettre à jour des
paquets.
* guix gc : (guix.fr)Invoquer guix gc. Récupérer de l'espace disque
@@ -119,10 +123,19 @@ traduc@@traduc.org}.
@menu
* Introduction:: Qu'est-ce que Guix ?
* Installation:: Installer Guix.
+* Installation du système:: Installer le système d'exploitation complet.
* Gestion de paquets:: Installation des paquets, mises à jour, etc.
+* Development:: Guix-aided software development.
* Interface de programmation:: Utiliser Guix en Scheme.
* Utilitaires:: Commandes de gestion de paquets.
-* Distribution GNU:: Des logiciels pour un système GNU convivial.
+* Configuration système:: Configurer le système d'exploitation.
+* Documentation:: Visualiser les manuels d'utilisateur des
+ logiciels.
+* Installer les fichiers de débogage:: Nourrir le débogueur.
+* Mises à jour de sécurité:: Déployer des correctifs de sécurité
+ rapidement.
+* Bootstrapping:: GNU/Linux depuis zéro.
+* Porter:: Cibler une autre plateforme ou un autre noyau.
* Contribuer:: Nous avons besoin de votre aide !
* Remerciements:: Merci !
@@ -135,6 +148,13 @@ traduc@@traduc.org}.
+Introduction
+
+
+
+* Managing Software the Guix Way:: What's special.
+* Distribution GNU:: The packages and tools.
+
Installation
@@ -159,6 +179,19 @@ Paramétrer le démon
machines distantes.
* Support de SELinux:: Utiliser une politique SELinux pour le démon.
+Installation du système
+
+
+
+* Limitations:: Ce à quoi vous attendre.
+* Considérations matérielles:: Matériel supporté.
+* Installation depuis une clef USB ou un DVD:: Préparer le média
+ d'installation.
+* Préparer l'installation:: Réseau, partitionnement, etc.
+* Effectuer l'installation:: Pour de vrai.
+* Installing Guix in a VM:: Guix System playground.
+* Construire l'image d'installation:: D'où vient tout cela.
+
Gestion de paquets
@@ -175,7 +208,6 @@ Gestion de paquets
* Inférieurs:: Interagir avec une autre révision de Guix.
* Invoquer guix describe:: Affiche des informations sur la révision Guix
actuelle.
-* Invoquer guix pack:: Créer des lots de logiciels.
* Invoquer guix archive:: Exporter et importer des fichiers du dépôt.
Substituts
@@ -185,23 +217,32 @@ Substituts
* Serveur de substituts officiel:: Une source particulière de substituts.
* Autoriser un serveur de substituts:: Comment activer ou désactiver les
substituts.
-* Authentification des substituts:: Coment Guix vérifie les substituts.
+* Authentification des substituts:: Comment Guix vérifie les substituts.
* Paramètres de serveur mandataire:: Comment récupérer des substituts à
travers un serveur mandataire.
* Échec de substitution:: Qu'arrive-t-il quand la substitution échoue.
* De la confiance en des binaires:: Comment pouvez-vous avoir confiance en
un paquet binaire ?
+Development
+
+
+
+* Invoquer guix environment:: Mettre en place des environnements de
+ développement.
+* Invoquer guix pack:: Créer des lots de logiciels.
+
Interface de programmation
+* Modules de paquets:: Les paquets du point de vu du programmeur.
* Définition des paquets:: Définir de nouveaux paquets.
* Systèmes de construction:: Spécifier comment construire les paquets.
* Le dépôt:: Manipuler le dépôt de paquets.
* Dérivations:: Interface de bas-niveau avec les dérivations
de paquets.
-* La monad du dépôt:: Interface purement fonctionnelle avec le
+* La monade du dépôt:: Interface purement fonctionnelle avec le
dépôt.
* G-Expressions:: Manipuler les expressions de construction.
* Invoquer guix repl:: S'amuser avec Guix de manière interactive.
@@ -228,8 +269,6 @@ Utilitaires
paquets.
* Invoquer guix size:: Profiler l'utilisation du disque.
* Invoquer guix graph:: Visualiser le graphe des paquets.
-* Invoquer guix environment:: Mettre en place des environnements de
- développement.
* Invoquer guix publish:: Partager des substituts.
* Invoquer guix challenge:: Défier les serveurs de substituts.
* Invoquer guix copy:: Copier vers et depuis un dépôt distant.
@@ -248,35 +287,6 @@ Invoquer @command{guix build}
guix build ».
* Débogage des échecs de construction:: La vie d'un empaqueteur.
-Distribution GNU
-
-
-
-* Installation du système:: Installer le système d'exploitation complet.
-* Configuration système:: Configurer le système d'exploitation.
-* Documentation:: Visualiser les manuels d'utilisateur des
- logiciels.
-* Installer les fichiers de débogage:: Nourrir le débogueur.
-* Mises à jour de sécurité:: Déployer des correctifs de sécurité
- rapidement.
-* Modules de paquets:: Les paquets du point de vu du programmeur.
-* Consignes d'empaquetage:: Faire grandir la distribution.
-* Bootstrapping:: GNU/Linux depuis zéro.
-* Porter:: Cibler une autre plateforme ou un autre noyau.
-
-Installation du système
-
-
-
-* Limitations:: Ce à quoi vous attendre.
-* Considérations matérielles:: Matériel supporté.
-* Installation depuis une clef USB ou un DVD:: Préparer le média
- d'installation.
-* Préparer l'installation:: Réseau, partitionnement, etc.
-* Effectuer l'installation:: Pour de vrai.
-* Installer GuixSD dans une VM:: Jouer avec GuixSD@.
-* Construire l'image d'installation:: D'où vient tout cela.
-
Configuration système
@@ -300,8 +310,7 @@ Configuration système
* Configuration du chargeur d'amorçage:: Configurer le chargeur
d'amorçage.
* Invoquer guix system:: Instantier une configuration du système.
-* Lancer GuixSD dans une VM:: Comment lancer GuixSD dans une machine
- virtuelle.
+* Running Guix in a VM:: How to run Guix System in a virtual machine.
* Définir des services:: Ajouter de nouvelles définitions de services.
Services
@@ -311,7 +320,7 @@ Services
* Services de base:: Services systèmes essentiels.
* Exécution de tâches planifiées:: Le service mcron.
* Rotation des journaux:: Le service rottlog.
-* Services réseau:: Paramétres réseau, démon SSH, etc.
+* Services réseau:: Paramètres réseau, démon SSH, etc.
* Système de fenêtrage X:: Affichage graphique.
* Services d'impression:: Support pour les imprimantes locales et
distantes.
@@ -347,40 +356,6 @@ Définir des services
* Référence de service:: Référence de l'API@.
* Services Shepherd:: Un type de service particulier.
-Consignes d'empaquetage
-
-
-
-* Liberté logiciel:: Ce que la distribution peut contenir.
-* Conventions de nommage:: Qu'est-ce qu'un bon nom ?
-* Numéros de version:: Lorsque le nom n'est pas suffisant.
-* Synopsis et descriptions:: Aider les utilisateurs à trouver le bon
- paquet.
-* Modules python:: Un peu de comédie anglaise.
-* Modules perl:: Petites perles.
-* Paquets java:: Pause café.
-* Polices de caractères:: À fond les fontes.
-
-Contribuer
-
-
-
-* Construire depuis Git:: toujours le plus récent.
-* Lancer Guix avant qu'il ne soit installé:: Astuces pour les hackers.
-* La configuration parfaite:: Les bons outils.
-* Style de code:: Hygiène du contributeur.
-* Envoyer des correctifs:: Partager votre travail.
-
-Style de code
-
-
-
-* Paradigme de programmation:: Comment composer vos éléments.
-* Modules:: Où stocker votre code ?
-* Types de données et reconnaissance de motif:: Implémenter des
- structures de données.
-* Formatage du code:: Conventions d'écriture.
-
@end detailmenu
@end menu
@@ -389,19 +364,37 @@ Style de code
@chapter Introduction
@cindex but
-GNU Guix@footnote{« Guix » se prononce comme « geeks » (en prononçant le
-« s »), ou « ɡiːks » dans l'alphabet phonétique international (API).} est un
-outil de gestion de paquets pour le système GNU@. Guix facilite pour les
-utilisateurs non privilégiés l'installation, la mise à jour et la
-suppression de paquets, la restauration à un ensemble de paquets précédent,
-la construction de paquets depuis les sources et plus généralement aide à la
-création et à la maintenance d'environnements logiciels.
+GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using
+the international phonetic alphabet (IPA).} is a package management tool for
+and distribution of the GNU system. Guix makes it easy for unprivileged
+users to install, upgrade, or remove software packages, to roll back to a
+previous package set, to build packages from source, and generally assists
+with the creation and maintenance of software environments.
+
+@cindex Guix System
+@cindex GuixSD, now Guix System
+@cindex Guix System Distribution, now Guix System
+You can install GNU@tie{}Guix on top of an existing GNU/Linux system where
+it complements the available tools without interference
+(@pxref{Installation}), or you can use it as a standalone operating system
+distribution, @dfn{Guix@tie{}System}@footnote{We used to refer to Guix
+System as ``Guix System Distribution'' or ``GuixSD''. We now consider it
+makes more sense to group everything under the ``Guix'' banner since, after
+all, Guix System is readily available through the @command{guix system}
+command, even if you're using a different distro underneath!}. @xref{Distribution GNU}.
+
+@menu
+* Managing Software the Guix Way:: What's special.
+* Distribution GNU:: The packages and tools.
+@end menu
+
+@node Managing Software the Guix Way
+@section Managing Software the Guix Way
@cindex interfaces utilisateurs
-Guix fournit une interface de gestion des paquets par la ligne de commande
-(@pxref{Invoquer guix package}), un ensemble d'utilitaires en ligne de
-commande (@pxref{Utilitaires}) ainsi que des interfaces de programmation
-Scheme (@pxref{Interface de programmation}).
+Guix provides a command-line package management interface (@pxref{Gestion de paquets}), tools to help with software development (@pxref{Development}),
+command-line utilities for more advanced usage, (@pxref{Utilitaires}), as well
+as Scheme programming interfaces (@pxref{Interface de programmation}).
@cindex démon de construction
Son @dfn{démon de construction} est responsable de la construction des
paquets pour les utilisateurs (@pxref{Paramétrer le démon}) et du
@@ -419,17 +412,6 @@ indépendants (@pxref{Modules de paquets}). Il est aussi
définitions de paquets spécialisées à partir de définitions existantes, même
depuis la ligne de commande (@pxref{Options de transformation de paquets}).
-@cindex Distribution Système Guix
-@cindex GuixSD
-Vous pouvez installer GNU@tie{}Guix sur un système GNU/Linux existant pour
-compléter les outils disponibles sans interférence (@pxref{Installation}) ou
-vous pouvez l'utiliser à travers la @dfn{Distribution Système Guix} ou
-GuixSD (@pxref{Distribution GNU}) distincte. Avec GNU@tie{}GuixSD, vous
-@emph{déclarez} tous les aspects de la configuration du système
-d'exploitation et Guix s'occupe de créer la configuration d'une manière
-transactionnelle, reproductible et sans état (@pxref{Configuration
-système}).
-
@cindex gestion de paquet fonctionnelle
@cindex isolation
Sous le capot, Guix implémente la discipline de @dfn{gestion de paquet
@@ -463,34 +445,112 @@ transactionnels, l'installation différenciée par utilisateur et le ramassage
de miettes pour les paquets (@pxref{Fonctionnalités}).
+@node Distribution GNU
+@section Distribution GNU
+
+@cindex Guix System
+Guix comes with a distribution of the GNU system consisting entirely of free
+software@footnote{The term ``free'' here refers to the
+@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to users of
+that software}.}. The distribution can be installed on its own
+(@pxref{Installation du système}), but it is also possible to install Guix as a
+package manager on top of an installed GNU/Linux system
+(@pxref{Installation}). When we need to distinguish between the two, we
+refer to the standalone distribution as Guix@tie{}System.
+
+la distribution fournit les paquets cœur de GNU comme la GNU libc, GCC et
+Binutils, ainsi que de nombreuses applications GNU et non-GNU. La liste
+complète des paquets disponibles se trouve
+@url{http://www.gnu.org/software/guix/packages,en ligne} ou en lançant
+@command{guix package} (@pxref{Invoquer guix package}) :
+
+@example
+guix package --list-available
+@end example
+
+Notre but est de fournir une distribution logicielle entièrement libre de
+GNU/Linux et d'autres variantes de GNU, en se concentrant sur la promotion
+et l'intégration étroite des composants GNU en insistant sur les programmes
+et les outils qui aident l'utilisateur à exercer ses libertés.
+
+Les paquets sont actuellement disponibles pour les plateformes suivantes :
+
+@table @code
+
+@item x86_64-linux
+l'architecture Intel et AMD @code{x86_64} avec le noyau Linux-libre ;
+
+@item i686-linux
+l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ;
+
+@item armhf-linux
+l'architecture ARMv7-A avec gestion des flottants matérielle, Thumb-2 et
+NEON, avec l'interface binaire applicative (ABI) EABI hard-float et le noyau
+Linux-libre ;
+
+@item aarch64-linux
+les processeurs ARMv8-A 64-bits en little-endian avec le noyau Linux-libre.
+Le support est actuellement expérimental et limité. @xref{Contribuer},
+pour savoir comment aider !
+
+@item mips64el-linux
+les processeurs MIPS 64-bits little-endian, spécifiquement la série
+Loongson, ABI n32, avec le noyau Linux-libre.
+
+@end table
+
+With Guix@tie{}System, you @emph{declare} all aspects of the operating
+system configuration and Guix takes care of instantiating the configuration
+in a transactional, reproducible, and stateless fashion (@pxref{Configuration système}). Guix System uses the Linux-libre kernel, the Shepherd
+initialization system (@pxref{Introduction,,, shepherd, The GNU Shepherd
+Manual}), the well-known GNU utilities and tool chain, as well as the
+graphical environment or system services of your choice.
+
+Guix System is available on all the above platforms except
+@code{mips64el-linux}.
+
+@noindent
+Pour des informations sur comment porter vers d'autres architectures et
+d'autres noyau, @pxref{Porter}.
+
+La construction de cette distribution est un effort collaboratif et nous
+vous invitons à nous rejoindre ! @xref{Contribuer}, pour des informations
+sur la manière de nous aider.
+
+
@c *********************************************************************
@node Installation
@chapter Installation
@cindex installer Guix
-@cindex site officiel
-GNU Guix est disponible au téléchargement depuis son site web sur
-@url{http://www.gnu.org/software/guix/}. Cette section décrit les
-pré-requis logiciels de Guix ainsi que la manière de l'installer et de se
-préparer à l'utiliser.
-Remarquez que cette section concerne l'installation du gestionnaire de
-paquet, ce qui se fait sur un système GNU/Linux en cours d'exécution. Si
-vous souhaitez plutôt installer le système d'exploitation GNU complet,
-@pxref{Installation du système}.
+@quotation Remarque
+We recommend the use of this
+@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
+shell installer script} to install Guix on top of a running GNU/Linux
+system, thereafter called a @dfn{foreign distro}.@footnote{This section is
+concerned with the installation of the package manager, which can be done on
+top of a running GNU/Linux system. If, instead, you want to install the
+complete GNU operating system, @pxref{Installation du système}.} The script
+automates the download, installation, and initial configuration of Guix. It
+should be run as the root user.
+@end quotation
@cindex distro extérieure
@cindex répertoires liés aux distro extérieures
-
-Lorsqu'il est installé sur un système GNU/Linux existant — ci-après nommé
-@dfn{distro extérieure} — GNU@tie{}Guix complète les outils disponibles sans
-interférence. Ses données se trouvent exclusivement dans deux répertoires,
-typiquement @file{/gnu/store} et @file{/var/guix} ; les autres fichiers de
-votre système comme @file{/etc} sont laissés intacts.
+When installed on a foreign distro, GNU@tie{}Guix complements the available
+tools without interference. Its data lives exclusively in two directories,
+usually @file{/gnu/store} and @file{/var/guix}; other files on your system,
+such as @file{/etc}, are left untouched.
Une fois installé, Guix peut être mis à jour en lançant @command{guix pull}
(@pxref{Invoquer guix pull}).
+If you prefer to perform the installation steps manually or want to tweak
+them, you may find the following subsections useful. They describe the
+software requirements of Guix, as well as how to install it manually and get
+ready to use it.
+
@menu
* Installation binaire:: Commencer à utiliser Guix en un rien de temps
!
@@ -508,18 +568,12 @@ Une fois installé, Guix peut être mis à jour en lançant @command{guix pull}
@cindex installer Guix depuis les binaires
@cindex script d'installation
-Cette section décrit comment intaller Guix sur un système quelconque depuis
+Cette section décrit comment installer Guix sur un système quelconque depuis
un archive autonome qui fournit les binaires pour Guix et toutes ses
dépendances. C'est souvent plus rapide que d'installer depuis les sources,
-ce qui est décrit dans les sections suivantes. Le seul pré-requis est
+ce qui est décrit dans les sections suivantes. Le seul prérequis est
d'avoir GNU@tie{}tar et Xz.
-Nous fournissons un script
-@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
-script d'intallation shell} qui automatise le téléchargement, l'installation
-et la configuration initiale de Guix. Il devrait être lancé en tant
-qu'utilisateur root.
-
L'installation se comme ceci :
@enumerate
@@ -564,7 +618,7 @@ tant que @code{root}, lancez :
@end example
Cela crée @file{/gnu/store} (@pxref{Le dépôt}) and @file{/var/guix}. Ce
-deuxième dossier contient un profil pret à être utilisé pour @code{root}
+deuxième dossier contient un profil prêt à être utilisé pour @code{root}
(voir les étapes suivantes).
Ne décompressez @emph{pas} l'archive sur un système Guix lancé car cela
@@ -664,12 +718,12 @@ changer le chemin de recherche de Info).
@item
@cindex substituts, autorisations
-Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses mirroirs
-(@pxref{Substituts}), autorisez-les :
+To use substitutes from @code{@value{SUBSTITUTE-SERVER}} or one of its
+mirrors (@pxref{Substituts}), authorize them:
@example
# guix archive --authorize < \
- ~root/.config/guix/current/share/guix/hydra.gnu.org.pub
+ ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER}.pub
@end example
@item
@@ -694,7 +748,7 @@ retrouveriez gravement handicapé par l'absence de la commande
@code{guix package -r guix}.
L'archive d'installation binaire peut être (re)produite et vérifiée
-simplement en lançaint la commande suivante dans l'arborescence des sources
+simplement en lançant la commande suivante dans l'arborescence des sources
de Guix :
@example
@@ -714,17 +768,20 @@ guix pack -s @var{system} --localstatedir \
@node Prérequis
@section Prérequis
-Cette section dresse la liste des pré-requis pour la construction de Guix
+Cette section dresse la liste des prérequis pour la construction de Guix
depuis les sources. La procédure de construction pour Guix est la même que
pour les autres logiciels GNU, et n'est pas expliquée ici. Regardez les
fichiers @file{README} et @file{INSTALL} dans l'arborescence des sources de
Guix pour plus de détails.
+@cindex site officiel
+GNU Guix is available for download from its website at
+@url{https://www.gnu.org/software/guix/}.
+
GNU Guix dépend des paquets suivants :
@itemize
-@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 ou
-supérieure, dont 2.2.x,
+@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 ou supérieure,
@item
@@ -738,6 +795,7 @@ version 0.1.0 ou supérieure,
@c FIXME: Specify a version number once a release has been made.
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, d'août 2017 ou
ultérieur,
+@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON};
@item @url{http://zlib.net, zlib},
@item @url{http://www.gnu.org/software/make/, GNU Make}.
@end itemize
@@ -746,17 +804,11 @@ Les dépendances suivantes sont facultatives :
@itemize
@item
-Installer @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
-vous permettra d'utiliser la commande @command{guix import pypi}
-(@pxref{Invoquer guix import}). Il est surtout utile pour les développeurs
-et pas pour les utilisateurs occasionnels.
-
-@item
@c Note: We need at least 0.10.2 for 'channel-send-eof'.
Le support pour la décharge de construction (@pxref{Réglages du délestage du démon})
et @command{guix copy} (@pxref{Invoquer guix copy}) dépend de
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version
-0.10.2 ou ulltérieure.
+0.10.2 ou ultérieure.
@item
Lorsque @url{http://www.bzip.org, libbz2} est disponible,
@@ -828,7 +880,7 @@ make check TESTS="tests/store.scm tests/cpio.scm"
Par défaut, les résultats des tests sont affichés au niveau du fichier.
Pour voir les détails de chaque cas de test individuel, il est possible de
-définire la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans cet
+définir la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans cet
exemple :
@example
@@ -840,9 +892,9 @@ le fichier @file{test-suite.log}. Précisez la version de Guix utilisée
ainsi que les numéros de version de ses dépendances (@pxref{Prérequis})
dans votre message.
-Guix possède aussi une suite de tests de systèmes complets qui test des
-instances complètes du système d'exploitation GuixSD@. Elle ne peut être
-lancée qui sur un système où Guix est déjà installé, avec :
+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:
@example
make check-system
@@ -1156,13 +1208,11 @@ les machines de construction correspondantes.
@end table
@end deftp
-La commande @code{guile} doit être dans le chemin de recherche des machines
-de construction. En plus, les modules Guix doivent se trouver dans
-@code{$GUILE_LOAD_PATH} sur la machine de construction. Vous pouvez
-vérifier si c'est le cas en lançant :
+The @command{guix} command must be in the search path on the build
+machines. You can check whether this is the case by running:
@example
-ssh build-machine guile -c "'(use-modules (guix config))'"
+ssh build-machine guix repl --version
@end example
Il reste une dernière chose à faire maintenant que @file{machines.scm} est
@@ -1238,11 +1288,11 @@ cette commande sur le nœud principal :
@cindex SELinux, politique du démon
@cindex contrôle d'accès obligatoire, SELinux
@cindex sécurité, guix-daemon
-Guix inclus un fichier de politique SELniux dans @file{etc/guix-daemon.cil}
-qui peut être installé sur un système où SELinux est activé pour que les
-fichiers Guix soient étiquetés et pour spécifier le comportement attendu du
-démon. Comme GuixSD ne fournit pas de politique SELniux de base, la
-politique du démon ne peut pas être utilisée sur GuixSD@.
+Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can
+be installed on a system where SELinux is enabled, in order to label Guix
+files and to specify the expected behavior of the daemon. Since Guix System
+does not provide an SELinux base policy, the daemon policy cannot be used on
+Guix System.
@subsubsection Installer la politique SELinux
@cindex SELinux, installation de la politique
@@ -1270,7 +1320,7 @@ permet toutes les opérations nécessaires.
@subsubsection Limitations
@cindex SELinux, limites
-La politique n'et pas parfaite. Voici une liste de limitations et de
+La politique n'est pas parfaite. Voici une liste de limitations et de
bizarreries qui vous devriez prendre en compte avant de déployer la
politique SELinux fournie pour le démon Guix.
@@ -1389,10 +1439,9 @@ distante @code{set-build-options} (@pxref{Le dépôt}).
@item --substitute-urls=@var{urls}
@anchor{daemon-substitute-urls}
-Considèrer @var{urls} comme la liste séparée par des espaces des URL des
-sources de substituts par défaut. Lorsque cette option est omise,
-@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} est utilisé
-(@code{mirror.hydra.gnu.org} est un mirroire de @code{hydra.gnu.org}).
+Consider @var{urls} the default whitespace-separated list of substitute
+source URLs. When this option is omitted,
+@indicateurl{https://@value{SUBSTITUTE-SERVER}} is used.
Cela signifie que les substituts sont téléchargés depuis les @var{urls},
tant qu'ils sont signés par une signature de confiance (@pxref{Substituts}).
@@ -1458,7 +1507,7 @@ si les résultats de construction consécutifs ne sont pas identiques
bit-à-bit. Remarquez que ce paramètre peut être modifié par les clients
comme @command{guix build} (@pxref{Invoquer guix build}).
-Lorsqu'utilisé avec @option{--keep-failed}, la sourtie différente est gardée
+Lorsqu'utilisé avec @option{--keep-failed}, la sortie différente est gardée
dans le dépôt sous @file{/gnu/store/@dots{}-check}. Cela rend plus facile
l'étude des différences entre les deux résultats.
@@ -1603,15 +1652,14 @@ connexions sur le socket Unix-domain situé à
@section Réglages applicatifs
@cindex distro extérieure
-Lorsque vous utilisez Guix par dessus une distribution GNU/Linux différente
-de GuixSD — ce qu'on appelle une @dfn{distro externe} — quelques étapes
-supplémentaires sont requises pour que tout soit en place. En voici
-certaines.
+When using Guix on top of GNU/Linux distribution other than Guix System---a
+so-called @dfn{foreign distro}---a few additional steps are needed to get
+everything in place. Here are some of them.
@subsection Régionalisation
@anchor{locales-and-locpath}
-@cindex régionalisation, en dehors de GuixSD
+@cindex locales, when not on Guix System
@vindex LOCPATH
@vindex GUIX_LOCPATH
Les paquets installés @i{via} Guix n'utiliseront pas les données de
@@ -1686,12 +1734,13 @@ GNU C Reference Manual})
Lorsqu'ils essayent d'effectuer une résolution de nom — par exemple en
appelant la fonction @code{getaddrinfo} en C — les applications essayent
d'abord de se connecter au nscd ; en cas de réussite, nscd effectue la
-résolution de nom pour eux. Si le nscd ne tourne pas, alors ils effectue la
-résolution eux-même, en changeant les service de résolution dans leur propre
-espace d'adressage et en le lançant. Ce services de résolution de noms —
-les fichiers @file{libnns_*.so} — sont @code{dlopen}és mais ils peuvent
-provenir de la bibliothèque C du système, plutôt que de la bibliothèque C à
-laquelle l'application est liée (la bibliothèque C de Guix).
+résolution de nom pour eux. Si le nscd ne tourne pas, alors ils effectuent
+la résolution eux-mêmes, en changeant les service de résolution dans leur
+propre espace d'adressage et en le lançant. Ce services de résolution de
+noms — les fichiers @file{libnns_*.so} — sont @code{dlopen}és mais ils
+peuvent provenir de la bibliothèque C du système, plutôt que de la
+bibliothèque C à laquelle l'application est liée (la bibliothèque C de
+Guix).
Et c'est là que se trouve le problème : si votre application est liée à la
bibliothèque C de Guix (disons, glibc-2.24) et essaye de charger les
@@ -1728,7 +1777,7 @@ guix package -i font-adobe-source-han-sans:cn
@cindex @code{xterm}
Les vieux programmes comme @command{xterm} n'utilisent pas fontconfig et
s'appuient sur le rendu du côté du serveur. Ces programmes ont besoin de
-spécifier le nom complet de la police en utlisant XLFD (X Logical Font
+spécifier le nom complet de la police en utilisant XLFD (X Logical Font
Description), comme ceci :
@example
@@ -1786,7 +1835,7 @@ The GNU Emacs Manual}).
Par défaut, Emacs (installé avec Guix) « sait » où ces paquets ce trouvent,
donc vous n'avez pas besoin de le configurer. Si, pour quelque raison que
ce soit, vous souhaitez éviter de charger automatiquement les paquets Emacs
-installés avec Guix, vous pouvez le faire en lançaint Emacs avec l'option
+installés avec Guix, vous pouvez le faire en lançant Emacs avec l'option
@code{--no-site-file} (@pxref{Init File,,, emacs, The GNU Emacs Manual}).
@subsection La chaîne d'outils GCC
@@ -1802,21 +1851,694 @@ lui-même, la bibliothèque C de GNU (les en-têtes et les binaires, plus les
symboles de débogage dans la sortie @code{debug}), Binutils et une enveloppe
pour l'éditeur de liens.
-@cindex tentative d'utiliser une bibliothèque impure, message d'erreur
-
-Le rôle de l'enveloppe est d'inspecter les paramètres @code{-L} et @code{-l}
-passés à l'éditeur de liens, d'ajouter des arguments @code{-rpath}
-correspondants et d'invoquer le véritable éditeur de liens avec ce nouvel
-ensemble d'arguments. Par défaut, l'enveloppe refuse de lier des
-bibliothèques en dehors du dépôt pour assure la « pureté ». Cela peut être
-embêtant lorsque vous utilisez la chaîne d'outils pour lier des
-bibliothèques locales. Pour permettre des références à des bibliothèques en
-dehors du dépôt, vous devrez définir la variable d'environnement
-@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES}.
+The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
+passed to the linker, add corresponding @code{-rpath} arguments, and invoke
+the actual linker with this new set of arguments. You can instruct the
+wrapper to refuse to link against libraries not in the store by setting the
+@code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} environment variable to @code{no}.
@c TODO What else?
@c *********************************************************************
+@node Installation du système
+@chapter Installation du système
+
+@cindex installing Guix System
+@cindex Guix System, installation
+This section explains how to install Guix System on a machine. Guix, as a
+package manager, can also be installed on top of a running GNU/Linux system,
+@pxref{Installation}.
+
+@ifinfo
+@quotation Remarque
+@c This paragraph is for people reading this from tty2 of the
+@c installation image.
+Vous lisez cette documentation avec un lecteur Info. Pour des détails sur
+son utilisation, appuyez sur la touche @key{ENTRÉE} (« Entrée » ou « à la
+ligne ») sur le lien suivant : @pxref{Top, Info reader,, info-stnd,
+Stand-alone GNU Info}. Appuyez ensuite sur @kbd{l} pour revenir ici.
+
+Autrement, lancez @command{info info} dans un autre tty pour garder ce
+manuel ouvert.
+@end quotation
+@end ifinfo
+
+@menu
+* Limitations:: Ce à quoi vous attendre.
+* Considérations matérielles:: Matériel supporté.
+* Installation depuis une clef USB ou un DVD:: Préparer le média
+ d'installation.
+* Préparer l'installation:: Réseau, partitionnement, etc.
+* Effectuer l'installation:: Pour de vrai.
+* Installing Guix in a VM:: Guix System playground.
+* Construire l'image d'installation:: D'où vient tout cela.
+@end menu
+
+@node Limitations
+@section Limitations
+
+As of version @value{VERSION}, Guix System is not production-ready. It may
+contain bugs and lack important features. Thus, if you are looking for a
+stable production system that respects your freedom as a computer user, a
+good solution at this point is to consider
+@url{http://www.gnu.org/distros/free-distros.html, one of the more
+established GNU/Linux distributions}. We hope you can soon switch to the
+Guix System without fear, of course. In the meantime, you can also keep
+using your distribution and try out the package manager on top of it
+(@pxref{Installation}).
+
+Avant de procéder à l'installation, soyez conscient de ces limitations les
+plus importantes qui s'appliquent à la version @value{VERSION} :
+
+@itemize
+@item
+Le procédé d'installation n'a pas d'interface utilisateur graphique et
+requiert une certaine familiarité avec GNU/Linux (voir les sous-sections
+suivantes pour avoir un aperçu de ce que cela signifie).
+
+@item
+LVM (gestionnaire de volumes logiques) n'est pas supporté.
+
+@item
+De plus en plus de services systèmes sont fournis (@pxref{Services}) mais
+certains manquent toujours cruellement.
+
+@item
+More than 8,500 packages are available, but you might occasionally find that
+a useful package is missing.
+
+@item
+GNOME, Xfce, LXDE et Enlightenment sont disponibles (@pxref{Services de bureaux}), ainsi qu'un certain nombre de gestionnaires de fenêtres X11.
+cependant, certaines applications graphiques peuvent manquer, ainsi que KDE.
+@end itemize
+
+Vous êtes avertis ! Mais plus qu'un avertissement, c'est une invitation à
+rapporter les problèmes (et vos succès !) et à nous rejoindre pour améliorer
+la distribution. @xref{Contribuer}, pour plus d'info.
+
+
+@node Considérations matérielles
+@section Considérations matérielles
+
+@cindex hardware support on Guix System
+GNU@tie{}Guix focuses on respecting the user's computing freedom. It builds
+around the kernel Linux-libre, which means that only hardware for which free
+software drivers and firmware exist is supported. Nowadays, a wide range of
+off-the-shelf hardware is supported on GNU/Linux-libre---from keyboards to
+graphics cards to scanners and Ethernet controllers. Unfortunately, there
+are still areas where hardware vendors deny users control over their own
+computing, and such hardware is not supported on Guix System.
+
+@cindex WiFi, support matériel
+One of the main areas where free drivers or firmware are lacking is WiFi
+devices. WiFi devices known to work include those using Atheros chips
+(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre
+driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core
+Revision 5), which corresponds to the @code{b43-open} Linux-libre driver.
+Free firmware exists for both and is available out-of-the-box on Guix
+System, as part of @var{%base-firmware} (@pxref{Référence de système d'exploitation,
+@code{firmware}}).
+
+@cindex RYF, Respects Your Freedom
+La @uref{https://www.fsf.org/, Free Software Foundation} a un programme de
+certification nommé @uref{https://www.fsf.org/ryf, @dfn{Respects Your
+Freedom}} (RYF), pour les produits matériels qui respectent votre liberté et
+votre vie privée en s'assurant que vous avez le contrôle sur l'appareil.
+Nous vous encourageons à vérifier la liste des appareils certifiés par RYF.
+
+Une autre ressource utile est le site web @uref{https://www.h-node.org/,
+H-Node}. Il contient un catalogue d'appareils avec des informations sur
+leur support dans GNU/Linux.
+
+
+@node Installation depuis une clef USB ou un DVD
+@section Installation depuis une clef USB ou un DVD
+
+Une image d'installation ISO-9660 téléchargeable depuis
+@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{système}.iso.xz}
+peut être écrite sur une clef USB ou gravée sur un DVD, où @var{système} est
+l'une de ces valeurs :
+
+@table @code
+@item x86_64-linux
+pour un système GNU/Linux sur un CPU compatible Intel/AMD 64-bits ;
+
+@item i686-linux
+pour un système GNU/Linux sur un CPU compatible Intel 32-bits ;
+@end table
+
+@c start duplication of authentication part from ``Binary Installation''
+Assurez-vous de télécharger les fichiers @file{.sig} associés et de vérifier
+l'authenticité de l'image avec, de cette manière :
+
+@example
+$ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
+$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
+@end example
+
+Si cette commande échoue parce que vous n'avez pas la clef publique requise,
+lancez cette commande pour l'importer :
+
+@example
+$ gpg --keyserver @value{KEY-SERVER} \
+ --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
+@end example
+
+@noindent
+@c end duplication
+et relancez la commande @code{gpg --verify}.
+
+Cette image contient les outils nécessaires à l'installation. Elle est
+faite pour être copiée @emph{telle quelle} sur une clef USB assez grosse ou
+un DVD.
+
+@unnumberedsubsec Copie sur une clef USB
+
+Pour copier l'image sur une clef USB, suivez ces étapes :
+
+@enumerate
+@item
+Décompressez l'image avec la commande @command{xz} :
+
+@example
+xz -d guixsd-install-@value{VERSION}.@var{système}.iso.xz
+@end example
+
+@item
+Insérez la clef USB de 1@tie{}Gio ou plus dans votre machine et déterminez
+son nom d'appareil. En supposant que la clef usb est connue sous le nom de
+@file{/dev/sdX}, copiez l'image avec :
+
+@example
+dd if=guixsd-install-@value{VERSION}.@var{system}.iso of=/dev/sdX
+sync
+@end example
+
+Accéder à @file{/dev/sdX} requiert généralement les privilèges
+super-utilisateur.
+@end enumerate
+
+@unnumberedsubsec Graver sur un DVD
+
+Pour copier l'image sur un DVD, suivez ces étapes :
+
+@enumerate
+@item
+Décompressez l'image avec la commande @command{xz} :
+
+@example
+xz -d guixsd-install-@value{VERSION}.@var{système}.iso.xz
+@end example
+
+@item
+Insérez un DVD vierge dans votre machine et déterminez son nom d'appareil.
+En supposant que le DVD soit connu sont le nom de @file{/dev/srX}, copiez
+l'image avec :
+
+@example
+growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.@var{system}.iso
+@end example
+
+Accéder à @file{/dev/srX} requiert généralement les privilèges
+super-utilisateur.
+@end enumerate
+
+@unnumberedsubsec Démarrage
+
+Une fois que c'est fait, vous devriez pouvoir redémarrer le système et
+démarrer depuis la clef USB ou le DVD. Pour cela, vous devrez généralement
+entrer dans le menu de démarrage BIOS ou UEFI, où vous pourrez choisir de
+démarrer sur la clef USB.
+
+@xref{Installing Guix in a VM}, if, instead, you would like to install Guix
+System in a virtual machine (VM).
+
+
+@node Préparer l'installation
+@section Préparer l'installation
+
+Once you have successfully booted your computer using the installation
+medium, you should end up with the welcome page of the graphical installer.
+The graphical installer is a text-based user interface built upon the newt
+library. It shall guide you through all the different steps needed to
+install GNU@tie{}Guix System. However, as the graphical installer is still
+under heavy development, you might want to fallback to the original, shell
+based install process, by switching to TTYs 3 to 6 with the shortcuts
+CTRL-ALT-F[3-6]. The following sections describe the installation procedure
+assuming you're using one of those TTYs. They are configured and can be used
+to run commands as root.
+
+TTY2 shows this documentation, browsable using the Info reader commands
+(@pxref{Top,,, info-stnd, Stand-alone GNU Info}). The installation system
+runs the GPM mouse daemon, which allows you to select text with the left
+mouse button and to paste it with the middle button.
+
+@quotation Remarque
+L'installation nécessite un accès au réseau pour que les dépendances
+manquantes de votre configuration système puissent être téléchargées. Voyez
+la section « réseau » plus bas.
+@end quotation
+
+The installation system includes many common tools needed for this task.
+But it is also a full-blown Guix System, which means that you can install
+additional packages, should you need it, using @command{guix package}
+(@pxref{Invoquer guix package}).
+
+@subsection Disposition du clavier
+
+@cindex disposition du clavier
+L'image d'installation utilise la disposition clavier qwerty (US). Si vous
+voulez la changer, vous pouvez utiliser la commande @command{loadkeys}. Par
+exemple, la commande suivante sélectionne la disposition Dvorak :
+
+@example
+loadkeys dvorak
+@end example
+
+Consultez les fichiers dans @file{/run/current-system/profile/share/keymaps}
+pour trouver une liste des dispositions disponibles. Lancez @command{man
+loadkey} pour plus d'informations.
+
+@subsection Réseau
+
+Lancez la commande suivante pour voir comment vos interfaces réseau sont
+appelées :
+
+@example
+ifconfig -a
+@end example
+
+@noindent
+@dots{} ou, avec la commande spécifique à GNU/Linux @command{ip} :
+
+@example
+ip a
+@end example
+
+@c http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20
+Les interfaces filaires ont un nom qui commence par @samp{e} ; par exemple,
+l'interface qui correspond au premier contrôleur Ethernet sur la carte mère
+est appelé @samp{eno1}. Les interfaces sans-fil ont un nom qui commence par
+@samp{w}, comme @samp{w1p2s0}.
+
+@table @asis
+@item Connexion filaire
+Pour configure une connexion filaire, lancez la commande suivante, en
+remplaçant @var{interface} par le nom de l'interface filaire que vous voulez
+utiliser.
+
+@example
+ifconfig @var{interface} up
+@end example
+
+@item Connexion sans-fil
+@cindex sans-fil
+@cindex WiFi
+Pour configurer le réseau sans-fil, vous pouvez créer un fichier de
+configuration pour l'outil de configuration @command{wpa_supplicant} (son
+emplacement importe peu) avec l'un des éditeurs de texte disponibles comme
+@command{nano} :
+
+@example
+nano wpa_supplicant.conf
+@end example
+
+Par exemple, la déclaration qui suit peut aller dans ce fichier et
+fonctionnera pour plusieurs réseaux sans-fil, si vous donnez le vrai SSID et
+la phrase de passe pour le réseau auquel vous vous connectez :
+
+@example
+network=@{
+ ssid="@var{mon-ssid}"
+ key_mgmt=WPA-PSK
+ psk="la phrase de passe secrète du réseau"
+@}
+@end example
+
+Démarrez le service sans-fil et lancez-le en tache de fond avec la commande
+suivante (en remplaçant @var{interface} par le nom de l'interface réseau que
+vous voulez utiliser) :
+
+@example
+wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B
+@end example
+
+Lancez @command{man wpa_supplicant} pour plus d'informations.
+@end table
+
+@cindex DHCP
+À partir de ce moment, vous avez besoin d'une adresse IP. Sur les réseaux
+où les IP sont automatiquement attribuée par DHCP, vous pouvez lancer :
+
+@example
+dhclient -v @var{interface}
+@end example
+
+Essayez de pinger un serveur pour voir si le réseau fonctionne :
+
+@example
+ping -c 3 gnu.org
+@end example
+
+Mettre en place un accès réseau est presque toujours une nécessité parce que
+l'image ne contient pas tous les logiciels et les outils dont vous pourriez
+avoir besoin.
+
+@cindex installer par SSH
+Si vous le souhaitez, vous pouvez continuer l'installation à distance en
+démarrant un serveur SSH :
+
+@example
+herd start ssh-daemon
+@end example
+
+Assurez-vous soit de définir un mot de passe avec @command{passwd}, soit de
+configurer l'authentification par clef OpenSSH avant de vous connecter.
+
+@subsection Partitionnement
+
+À moins que vous ne l'ayez déjà fait, l'étape suivante consiste à
+partitionner le disque puis à formater les partitions cibles.
+
+L'image d'installation inclus plusieurs outils de partitionnement, dont
+Parted (@pxref{Overview,,, parted, GNU Parted User Manual}),
+@command{fdisk}, et @command{cfdisk}. Lancez-en un et paramétrez votre
+disque avec le partitionnement qui vous convient :
+
+@example
+cfdisk
+@end example
+
+Si votre disque utilise le format des tables de partitions GUID (GPT) et que
+vous souhaitez installer un GRUB pour système BIOS (c'est le cas par
+défaut), assurez-vous de créer qu'une partition de démarrage BIOS soit bien
+disponible (@pxref{BIOS installation,,, grub, GNU GRUB manual}).
+
+@cindex EFI, installation
+@cindex UEFI, installation
+@cindex ESP, partition système EFI
+If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System
+Partition} (ESP) is required. This partition can be mounted at
+@file{/boot/efi} for instance and must have the @code{esp} flag set. E.g.,
+for @command{parted}:
+
+@example
+parted /dev/sda set 1 esp on
+@end example
+
+@quotation Remarque
+@vindex grub-bootloader
+@vindex grub-efi-bootloader
+Vous n'êtes pas sûr de savoir si vous devez utiliser un GRUB EFI ou BIOS ?
+Si le répertoire @file{/sys/firmware/efi} existe sur l'image d'installation,
+vous devriez probablement effectuer une installation EFI, avec
+@code{grub-efi-bootloader}. Sinon, vous devriez utiliser le GRUB en BIOS,
+@code{grub-bootloader}. @xref{Configuration du chargeur d'amorçage} pour plus
+d'information sur le chargeur d'amorçage.
+@end quotation
+
+Once you are done partitioning the target hard disk drive, you have to
+create a file system on the relevant partition(s)@footnote{Currently Guix
+System only supports ext4 and btrfs file systems. In particular, code that
+reads file system UUIDs and labels only works for these file system
+types.}. For the ESP, if you have one and assuming it is @file{/dev/sda1},
+run:
+
+@example
+mkfs.fat -F32 /dev/sda1
+@end example
+
+Préférez assigner une étiquette au système de fichier pour que vous puissiez
+vous y référer de manière fiable dans la déclaration @code{file-system}
+(@pxref{Systèmes de fichiers}). On le fait habituellement avec l'option @code{-L}
+de @command{mkfs.ext4} et des commandes liées. Donc, en supposant que la
+partition racine soit sur @file{/dev/sda2}, on peut créer un système de
+fichier avec pour étiquette @code{my-root} avec :
+
+@example
+mkfs.ext4 -L my-root /dev/sda2
+@end example
+
+@cindex chiffrement du disque
+Si vous voulez plutôt chiffrer la partition racine, vous pouvez utiliser les
+utilitaires Cryptsetup et LUKS pour cela (voir @inlinefmtifelse{html,
+@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
+@code{man cryptsetup}} pour plus d'informations). En supposant que vous
+voulez stocker la partition racine sur @file{/dev/sda2}, la séquence de
+commandes suivante vous mènerait à ce résultat :
+
+@example
+cryptsetup luksFormat /dev/sda2
+cryptsetup open --type luks /dev/sda2 my-partition
+mkfs.ext4 -L my-root /dev/mapper/my-partition
+@end example
+
+Une fois cela effectué, montez le système de fichier cible dans @file{/mnt}
+avec une commande comme (de nouveau, en supposant que @code{my-root} est
+l'étiquette du système de fichiers racine) :
+
+@example
+mount LABEL=my-root /mnt
+@end example
+
+Also mount any other file systems you would like to use on the target system
+relative to this path. If you have opted for @file{/boot/efi} as an EFI
+mount point for example, mount it at @file{/mnt/boot/efi} now so it is found
+by @code{guix system init} afterwards.
+
+Enfin, si vous souhaitez utiliser une ou plusieurs partitions de swap
+(@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference
+Manual}), assurez-vous de les initialiser avec @command{mkswap}. En
+supposant que vous avez une partition de swap sur @file{/dev/sda3}, vous
+pouvez lancer :
+
+@example
+mkswap /dev/sda3
+swapon /dev/sda3
+@end example
+
+Autrement, vous pouvez utiliser un fichier de swap. Par exemple, en
+supposant que dans le nouveau système vous voulez utiliser le fichier
+@file{/swapfile} comme fichier de swap, vous lanceriez@footnote{Cet exemple
+fonctionnera sur plusieurs types de systèmes de fichiers (p.@: ex.@: ext4).
+Cependant, pour les systèmes de fichiers qui utilisent la copie sur écriture
+(COW) comme btrfs, les étapes requises peuvent varier. Pour plus de
+détails, regardez les pages de manuel de @command{mkswap} et
+@command{swapon}.} :
+
+@example
+# Cela représente 10 Gio d'espace d'échange. Ajustez « count » pour changer la taille.
+dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240
+# Par sécurité, laissez le fichier en lecture et en écriture uniquement pour root.
+chmod 600 /mnt/swapfile
+mkswap /mnt/swapfile
+swapon /mnt/swapfile
+@end example
+
+Remarquez que si vous avez chiffré la partition racine et créé un fichier
+d'échange dans son système de fichier comme décrit ci-dessus, alors le
+chiffrement protégera aussi le fichier d'échange, comme n'importe quel
+fichier de ce système de fichiers.
+
+@node Effectuer l'installation
+@section Effectuer l'installation
+
+Lorsque la partition cible est prête et que les autres partitions sont
+montées, on est prêt à commencer l'installation. Commencez par :
+
+@example
+herd start cow-store /mnt
+@end example
+
+Cela rend @file{/gnu/store} capable de faire de la copie sur écriture, de
+sorte que les paquets ajoutés pendant l'installation sont écrits sur le
+disque cible sur @file{/mnt} plutôt que gardés en mémoire. Cela est
+nécessaire parce que la première phase de la commande @command{guix system
+init} (voir plus bas) implique de télécharger ou de construire des éléments
+de @file{/gnu/store} qui est initialement un système de fichiers en mémoire.
+
+Ensuite, vous devrez modifier un fichier et fournir la déclaration du
+système à installer. Pour cela, le système d'installation propose trois
+éditeurs de texte. Nous recommandons GNU nano (@pxref{Top,,, nano, GNU nano
+Manual}), qui supporte la coloration syntaxique la correspondance de
+parenthèses ; les autres éditeurs sont GNU Zile (un clone d'Emacs) et nvi
+(un clone de l'éditeur @command{vi} original de BSD). Nous recommandons
+vivement de stocker ce fichier sur le système de fichier racine cible,
+disons en tant que @file{/mnt/etc/config.scm}. Sinon, vous perdrez votre
+fichier de configuration une fois que vous aurez redémarré sur votre nouveau
+système.
+
+@xref{Utiliser le système de configuration}, pour un aperçu de comment créer votre
+fichier de configuration. Les exemples de configuration dont on parle dans
+cette section sont disponibles dans @file{/etc/configuration} sur l'image
+d'installation. Ainsi, pour commencer avec une configuration du système qui
+fournit un serveur d'affichage graphique (un système de « bureau »), vous
+pouvez lancer ce qui suit :
+
+@example
+# mkdir /mnt/etc
+# cp /etc/configuration/desktop.scm /mnt/etc/config.scm
+# nano /mnt/etc/config.scm
+@end example
+
+Vous devriez faire attention à ce que contient votre fichier de
+configuration, en particulier :
+
+@itemize
+@item
+Make sure the @code{bootloader-configuration} form refers to the target you
+want to install GRUB on. It should mention @code{grub-bootloader} if you
+are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for
+newer UEFI systems. For legacy systems, the @code{target} field names a
+device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted
+EFI partition, like @code{/boot/efi}; do make sure the path is currently
+mounted and a @code{file-sytem} entry is specified in your configuration.
+
+@item
+Assurez-vous que les étiquettes de vos systèmes de fichiers correspondent
+aux valeurs de leur champs @code{device} dans votre configuration
+@code{file-system}, en supposant que la configuration @code{file-system}
+utilise la procédure @code{file-system-label} dans son champ @code{device}.
+
+@item
+Si vous avez des partitions RAID ou chiffrées, assurez-vous d'ajouter un
+champ @code{mapped-device} pour les décrire (@pxref{Périphériques mappés}).
+@end itemize
+
+Une fois que vous avez fini les préparatifs sur le fichier de configuration,
+le nouveau système peut être initialisé (rappelez-vous que le système de
+fichiers racine cible est dans @file{/mnt}) :
+
+@example
+guix system init /mnt/etc/config.scm /mnt
+@end example
+
+@noindent
+Cela copie tous les fichiers nécessaires et installe GRUB sur
+@file{/dev/sdX} à moins que vous ne passiez l'option
+@option{--no-bootloader}. Pour plus d'informations, @pxref{Invoquer guix system}. Cette commande peut engendrer des téléchargements ou des
+constructions pour les paquets manquants, ce qui peut prendre du temps.
+
+Une fois que cette commande a terminée — et on l'espère réussi ! — vous
+pouvez lancer @command{reboot} et démarrer sur votre nouveau système. Le
+mot de passe @code{root} est d'abord vide ; les mots de passe des autres
+utilisateurs doivent être initialisés avec la commande @command{passwd} en
+tant que @code{root}, à mois que votre configuration ne spécifie autre chose
+(@pxref{user-account-password, mot de passe des comptes utilisateurs}).
+
+@cindex upgrading Guix System
+From then on, you can update the system whenever you want by running, say:
+
+@example
+guix pull
+sudo guix system reconfigure /etc/config.scm
+@end example
+
+@noindent
+This builds a new system generation with the latest packages and services
+(@pxref{Invoquer guix system}). We recommend doing that regularly so that
+your system includes the latest security updates (@pxref{Mises à jour de sécurité}).
+
+@c See <https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>.
+@quotation Remarque
+@cindex sudo vs. @command{guix pull}
+Note that @command{sudo guix} runs your user's @command{guix} command and
+@emph{not} root's, because @command{sudo} leaves @code{PATH} unchanged. To
+explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
+@end quotation
+
+Join us on @code{#guix} on the Freenode IRC network or on
+@email{guix-devel@@gnu.org} to share your experience---good or not so good.
+
+@node Installing Guix in a VM
+@section Installing Guix in a Virtual Machine
+
+@cindex virtual machine, Guix System installation
+@cindex serveur privé virtuel (VPS)
+@cindex VPS (serveur privé virtuel)
+If you'd like to install Guix System in a virtual machine (VM) or on a
+virtual private server (VPS) rather than on your beloved machine, this
+section is for you.
+
+To boot a @uref{http://qemu.org/,QEMU} VM for installing Guix System in a
+disk image, follow these steps:
+
+@enumerate
+@item
+First, retrieve and decompress the Guix system installation image as
+described previously (@pxref{Installation depuis une clef USB ou un DVD}).
+
+@item
+Créez une image disque qui contiendra le système installé. Pour créer une
+image qcow2, utilise la commande @command{qemu-img} :
+
+@example
+qemu-img create -f qcow2 guixsd.img 50G
+@end example
+
+Le fichier qui en résulte sera bien plus petit que les 50 Go (habituellement
+moins de 1 Mo) mais il grossira au fur et à mesure que le stockage virtuel
+grossira.
+
+@item
+Démarrez l'image d'installation USB dans une VM :
+
+@example
+qemu-system-x86_64 -m 1024 -smp 1 \
+ -net user -net nic,model=virtio -boot menu=on \
+ -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \
+ -drive file=guixsd.img
+@end example
+
+L'ordre des périphérique est important
+
+Dans la console de la VM, appuyez rapidement sur @kbd{F12} pour entrer dans
+le menu de démarrage. Ensuite appuyez sur @kbd{2} et la touche @kbd{Entrée}
+pour valider votre choix.
+
+@item
+Vous êtes maintenant root dans la VM, continuez en suivant la procédure
+d'installation. @xref{Préparer l'installation}, et suivez les
+instructions.
+@end enumerate
+
+Once installation is complete, you can boot the system that's on your
+@file{guixsd.img} image. @xref{Running Guix in a VM}, for how to do that.
+
+@node Construire l'image d'installation
+@section Construire l'image d'installation
+
+@cindex image d'installation
+L'image d'installation décrite plus haut a été construite avec la commande
+@command{guix system}, plus précisément :
+
+@example
+guix system disk-image --file-system-type=iso9660 \
+ gnu/system/install.scm
+@end example
+
+Regardez le fichier @file{gnu/system/install.scm} dans l'arborescence des
+sources et regardez aussi @ref{Invoquer guix system} pour plus
+d'informations sur l'image d'installation.
+
+@section Construire l'image d'installation pour les cartes ARM
+
+De nombreuses cartes ARM requièrent une variante spécifique du chargeur
+d'amorçage @uref{http://www.denx.de/wiki/U-Boot/, U-Boot}.
+
+Si vous construisez une image disque et que le chargeur d'amorçage n'est pas
+disponible autrement (sur un autre périphérique d'amorçage etc), il est
+recommandé de construire une image qui inclus le chargeur d'amorçage, plus
+précisément :
+
+@example
+guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) "A20-OLinuXino-Lime2")'
+@end example
+
+@code{A20-OLinuXino-Lime2} est le nom de la carte. Si vous spécifiez une
+carte invalide, une liste de cartes possibles sera affichée.
+
+@c *********************************************************************
@node Gestion de paquets
@chapter Gestion de paquets
@@ -1851,7 +2573,6 @@ guix package -i emacs-guix
* Inférieurs:: Interagir avec une autre révision de Guix.
* Invoquer guix describe:: Affiche des informations sur la révision Guix
actuelle.
-* Invoquer guix pack:: Créer des lots de logiciels.
* Invoquer guix archive:: Exporter et importer des fichiers du dépôt.
@end menu
@@ -1870,7 +2591,7 @@ utilisateur dans @code{$HOME/.guix-profile}.
Par exemple, @code{alice} installe GCC 4.7.2. Il en résulte que
@file{/home/alice/.guix-profile/bin/gcc} pointe vers
@file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même
-machine, @code{bob} a déjà intallé GCC 4.8.0. Le profil de @code{bob}
+machine, @code{bob} a déjà installé GCC 4.8.0. Le profil de @code{bob}
continue simplement de pointer vers
@file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — c.-à-d.@: les deux versions de
GCC coexistent surs le même système sans aucune interférence.
@@ -1888,12 +2609,11 @@ processus @command{guix package} est terminé pendant la transaction ou si
une panne de courant arrive pendant la transaction, le profil de
l'utilisateur reste dans son état précédent et reste utilisable.
-En plus, il est possible @emph{d'annuler} toute transaction sur les
-paquets. Donc si par exemple un mise à jour installe une nouvelle version
-d'un paquet qui révèle un bogue sérieux, les utilisateurs peuvent revenir en
-arrière à l'instance précédente de leur profil qui est connu pour bien
-fonctionner. De manière similaire, la configuration globale du système dans
-GuixSD est sujette aux mises à jour transactionnelles et aux annulations
+In addition, any package transaction may be @emph{rolled back}. So, if, for
+example, an upgrade installs a new version of a package that turns out to
+have a serious bug, users may roll back to the previous instance of their
+profile, which was known to work well. Similarly, the global system
+configuration on Guix is subject to transactional upgrades and roll-back
(@pxref{Utiliser le système de configuration}).
Tous les paquets du dépôt des paquets peut être @emph{glané}. Guix peut
@@ -2222,7 +2942,7 @@ $ guix package -p foo -p bar --search-paths
La dernière commande ci-dessus montre la variable @code{GUILE_LOAD_PATH}
bien que, pris individuellement, ni @file{foo} ni @file{bar} n'auraient
-donné cette recommendation.
+donné cette recommandation.
@item --profile=@var{profil}
@@ -2240,13 +2960,9 @@ Par défaut, @command{guix package} rapporte les @dfn{collisions} dans le
profil comme des erreurs. Les collisions ont lieu quand deux version ou
variantes d'un paquet donné se retrouvent dans le profil.
-@item --verbose
-Produire une sortie verbeuse. En particulier, fournir les journaux de
-construction de l'environnement sur le port d'erreur standard.
-
@item --bootstrap
Utiliser le programme d'amorçage Guile pour compiler le profil. Cette
-option n'est utile que pour les développeurs de la distriibution.
+option n'est utile que pour les développeurs de la distribution.
@end table
@@ -2259,10 +2975,10 @@ paquets :
@item --search=@var{regexp}
@itemx -s @var{regexp}
@cindex chercher des paquets
-Lister les paquets disponibles dont le nom, le synopsis ou la description
-correspondent à la @var{regexp}, triés par pertinence. Afficher toutes les
-métadonnées des paquets correspondants au format @code{recutils}
-(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual}).
+List the available packages whose name, synopsis, or description matches
+@var{regexp} (in a case-insensitive fashion), sorted by relevance. Print
+all the metadata of matching packages in @code{recutils} format (@pxref{Top,
+GNU recutils databases,, recutils, GNU recutils manual}).
Cela permet à des champs spécifiques d'être extraits avec la commande
@command{recsel}, par exemple :
@@ -2390,9 +3106,9 @@ la première.
Et @code{--list-generations=1,8,2} renvoie les trois générations dans
l'ordre spécifié. Aucune espace ni virgule surnuméraire n'est permise.
-@item @emph{Des interval}. @code{--list-generations=2..9} affiche les
+@item @emph{Des intervalles}. @code{--list-generations=2..9} affiche les
générations demandées et tout ce qui se trouvent entre elles. Remarquez que
-le début d'un interval doit être plus petit que sa fin.
+le début d'un intervalle doit être plus petit que sa fin.
Il est aussi possible d'omettre le numéro final. Par exemple,
@code{--list-generations=2..} renvoie toutes les générations à partir de la
@@ -2401,7 +3117,7 @@ deuxième.
@item @emph{Des durées}. Vous pouvez aussi récupérer les derniers @emph{N}@tie{}jours, semaines,
ou moins en passant un entier avec la première lettre de la durée (en
anglais : d, w ou m). Par exemple @code{--list-generations=20d} liste les
-générations qui sont agées d'au plus 20 jours.
+générations qui sont âgées d'au plus 20 jours.
@end itemize
@item --delete-generations[=@var{motif}]
@@ -2455,7 +3171,7 @@ exemple résultent aussi de la construction d'une dérivation qui peut aussi
* Serveur de substituts officiel:: Une source particulière de substituts.
* Autoriser un serveur de substituts:: Comment activer ou désactiver les
substituts.
-* Authentification des substituts:: Coment Guix vérifie les substituts.
+* Authentification des substituts:: Comment Guix vérifie les substituts.
* Paramètres de serveur mandataire:: Comment récupérer des substituts à
travers un serveur mandataire.
* Échec de substitution:: Qu'arrive-t-il quand la substitution échoue.
@@ -2468,13 +3184,13 @@ exemple résultent aussi de la construction d'une dérivation qui peut aussi
@cindex hydra
@cindex ferme de construction
-Le serveur @code{mirror.hydra.gnu.org} est une interface à la ferme de
-construction officielle qui construit des paquets pour Guix continuellement
-pour certaines architectures et les rend disponibles en tant que
-substituts. C'est la source par défaut des substituts ; elle peut être
-modifiée en passant l'option @option{--substitute-urls} soit à
-@command{guix-daemon} (@pxref{daemon-substitute-urls,, @code{guix-daemon
---substitute-urls}}) soit aux outils clients comme @command{guix package}
+The @code{@value{SUBSTITUTE-SERVER}} server is a front-end to an official
+build farm that builds packages from Guix continuously for some
+architectures, and makes them available as substitutes. This is the default
+source of substitutes; it can be overridden by passing the
+@option{--substitute-urls} option either to @command{guix-daemon}
+(@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}}) or
+to client tools such as @command{guix package}
(@pxref{client-substitute-urls,, client @option{--substitute-urls} option}).
Les URL des substituts peuvent être soit en HTTP soit en HTTPS. Le HTTPS
@@ -2499,33 +3215,28 @@ activer les substituts de n'importe quel autre serveur de substituts.
@cindex substituts, autorisations
@cindex liste de contrôle d'accès (ACL), pour les substituts
@cindex ACL (liste de contrôle d'accès), pour les substituts
-Pour permettre à Guix de télécharger les substituts depuis
-@code{hydra.gnu.org} ou un mirroir, vous devez ajouter sa clef publique à la
-liste de contrôle d'accès (ACL) des imports d'archives, avec la commande
-@command{guix archive} (@pxref{Invoquer guix archive}). Cela implique que
-vous faîtes confiance à @code{hydra.gnu.org} pour ne pas être compromis et
-vous servir des substituts authentiques.
+To allow Guix to download substitutes from @code{@value{SUBSTITUTE-SERVER}}
+or a mirror thereof, you must add its public key to the access control list
+(ACL) of archive imports, using the @command{guix archive} command
+(@pxref{Invoquer guix archive}). Doing so implies that you trust
+@code{@value{SUBSTITUTE-SERVER}} to not be compromised and to serve genuine
+substitutes.
-La clef publique pour @code{hydra.gnu.org} est installée avec Guix, dans
-@code{@var{préfixe}/share/guix/hydra.gnu.org.pub}, où @var{préfixe} est le
-préfixe d'installation de Guix. Si vous avez installé Guix depuis les
-sources, assurez-vous d'avoir vérifié la signature GPG de
-@file{guix-@value{VERSION}.tar.gz} qui contient ce fichier de clef
-publique. Ensuite vous pouvez lancer quelque chose comme ceci :
+The public key for @code{@value{SUBSTITUTE-SERVER}} is installed along with
+Guix, in @code{@var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub}, where
+@var{prefix} is the installation prefix of Guix. If you installed Guix from
+source, make sure you checked the GPG signature of
+@file{guix-@value{VERSION}.tar.gz}, which contains this public key file.
+Then, you can run something like this:
@example
-# guix archive --authorize < @var{préfixe}/share/guix/hydra.gnu.org.pub
+# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub
@end example
@quotation Remarque
-De même, le fichier @file{berlin.guixsd.org.pub} contient la clef publique
-de la nouvelle ferme de construction du projet, disponible depuis
-@indicateurl{https://berlin.guixsd.org}.
-
-Au moment où ces lignes sont écrites, @code{berlin.guixsd.org} est mis à
-niveau pour mieux passer à l'échelle, mais vous pourriez vouloir le tester.
-Il est associé à 20 nœuds de construction x86_64/i686 et pourrait fournir
-des substituts plus rapidement que @code{mirror.hydra.gnu.org}
+Similarly, the @file{hydra.gnu.org.pub} file contains the public key of an
+independent build farm also run by the project, reachable at
+@indicateurl{https://mirror.hydra.gnu.org}.
@end quotation
Une fois que cela est en place, la sortie d'une commande comme @code{guix
@@ -2555,8 +3266,8 @@ $ guix build emacs --dry-run
@end example
@noindent
-Cela indique que les substituts de @code{hydra.gnu.org} sont utilisables et
-seront téléchargés, si possible, pour les futures constructions.
+This indicates that substitutes from @code{@value{SUBSTITUTE-SERVER}} are
+usable and will be downloaded, when possible, for future builds.
@cindex substituts, comment les désactiver
Le mécanisme de substitution peut être désactivé globalement en lançant
@@ -2587,7 +3298,7 @@ substituts avec cette option :
Si l'ACL contient uniquement la clef de @code{b.example.org}, et si
@code{a.example.org} sert @emph{exactement les mêmes} substituts, alors Guix
téléchargera les substituts de @code{a.example.org} parce qu'il vient en
-premier dans la liste et peut être considéré comme un mirroir de
+premier dans la liste et peut être considéré comme un miroir de
@code{b.example.org}. En pratique, des machines de constructions produisent
souvent les mêmes binaires grâce à des construction reproductibles au bit
près (voir plus bas).
@@ -2596,7 +3307,7 @@ Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est @emph{pas}
validé (en d'autre termes, le serveur n'est pas authentifié), contrairement
à ce que des clients HTTPS comme des navigateurs web font habituellement.
Cela est dû au fait que Guix authentifie les informations sur les substituts
-eux-même, comme expliqué plus haut, ce dont on se soucie réellement (alors
+eux-mêmes, comme expliqué plus haut, ce dont on se soucie réellement (alors
que les certificats X.509 authentifie la relation entre nom de domaine et
clef publique).
@@ -2641,16 +3352,15 @@ fournis par un serveur.
@subsection De la confiance en des binaires
@cindex confiance, en des binaires pré-construits
-De nos jours, le contrôle individuel sur son utilisation propre de
-l'informatique est à la merci d'institutions, de sociétés et de groupes avec
-assez de pouvoir et de détermination pour contourner les infrastructures
-informatiques et exploiter leurs faiblesses. Bien qu'utiliser les
-substituts de @code{hydra.gnu.org} soit pratique, nous encourageons les
-utilisateurs à construire aussi par eux-même, voir à faire tourner leur
-propre ferme de construction, pour que @code{hydra.gnu.org} devienne une
-cible moins intéressante. Une façon d'aider est de publier les logiciels
-que vous construisez avec @command{guix publish} pour que les autres aient
-plus de choix de serveurs où télécharger les substituts (@pxref{Invoquer guix publish}).
+Today, each individual's control over their own computing is at the mercy of
+institutions, corporations, and groups with enough power and determination
+to subvert the computing infrastructure and exploit its weaknesses. While
+using @code{@value{SUBSTITUTE-SERVER}} substitutes can be convenient, we
+encourage users to also build on their own, or even run their own build
+farm, such that @code{@value{SUBSTITUTE-SERVER}} is less of an interesting
+target. One way to help is by publishing the software you build using
+@command{guix publish} so that others have one more choice of server to
+download substitutes from (@pxref{Invoquer guix publish}).
Guix possède les fondations pour maximiser la reproductibilité logicielle
(@pxref{Fonctionnalités}). Dans la plupart des cas, des constructions
@@ -2752,7 +3462,7 @@ Avant de lancer @code{guix gc --collect-garbage} pour faire de la place,
c'est souvent utile de supprimer les anciennes génération des profils
utilisateurs ; de cette façon les anciennes constructions de paquets
référencées par ces générations peuvent être glanées. Cela se fait en
-lançaint @code{guix package --delete-generations} (@pxref{Invoquer guix package}).
+lançant @code{guix package --delete-generations} (@pxref{Invoquer guix package}).
Nous recommandons de lancer le ramasse-miettes régulièrement ou lorsque vous
avez besoin d'espace disque. Par exemple pour garantir qu'au moins
@@ -2762,13 +3472,12 @@ avez besoin d'espace disque. Par exemple pour garantir qu'au moins
guix gc -F 5G
@end example
-Il est parfaitement possible de le lancer comme une tâche périodique
-non-interactive (@pxref{Exécution de tâches planifiées} pour apprendre comment
-paramétrer une telle tâche sur GuixSD). Lancer @command{guix gc} sans
-argument ramassera autant de miettes que possible mais ça n'est pas le plus
-pratique : vous pourriez vous retrouver à reconstruire ou re-télécharger des
-logiciels « inutilisés » du point de vu du GC mais qui sont nécessaires pour
-construire d'autres logiciels — p.@: ex.@: la chaîne de compilation.
+It is perfectly safe to run as a non-interactive periodic job
+(@pxref{Exécution de tâches planifiées}, for how to set up such a job). Running
+@command{guix gc} with no arguments will collect as much garbage as it can,
+but that is often inconvenient: you may find yourself having to rebuild or
+re-download software that is ``dead'' from the GC viewpoint but that is
+necessary to build other pieces of software---e.g., the compiler tool chain.
La command @command{guix gc} a trois modes d'opération : il peut être
utilisé pour glaner des fichiers inutilisés (par défaut), pour supprimer des
@@ -3046,6 +3755,11 @@ Utiliser le @var{profil} à la place de @file{~/.config/guix/current}.
Montrer quels commits des canaux seraient utilisés et ce qui serait
construit ou substitué mais ne pas le faire vraiment.
+@item --system=@var{système}
+@itemx -s @var{système}
+Tenter de construire pour le @var{système} — p.@: ex.@: @code{i686-linux} —
+plutôt que pour le type de système de l'hôte de construction.
+
@item --verbose
Produire une sortie verbeuse, en écrivant les journaux de construction sur
la sortie d'erreur standard.
@@ -3152,14 +3866,13 @@ Vous avez été prévenus ! Maintenant, nous pensons que des canaux externes
sont une manière pratique d'exercer votre liberté pour augmenter la
collection de paquets de Guix et de partager vos améliorations, qui sont les
principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html,
-logiciel libe}. Contactez-nous par courriel sur @email{guix-devel@@gnu.org}
-si vous souhaitez discuter à ce propos.
+logiciel libre}. Contactez-nous par courriel sur
+@email{guix-devel@@gnu.org} si vous souhaitez discuter à ce propos.
@end quotation
-Une fois que vous avez un dépôt Git contenant vos propres modules de
-paquets, vous pouvez écrire @code{~/.config/guix/channels.scm} pour dire à
-@command{guix pull} de récupérer votre canal personnel @emph{en plus} des
-canaux Guix par défaut :
+To use a channel, write @code{~/.config/guix/channels.scm} to instruct
+@command{guix pull} to pull from it @emph{in addition} to the default Guix
+channel(s):
@vindex %default-channels
@lisp
@@ -3204,6 +3917,50 @@ contient aussi bien Guix que les paquets du canal
@code{my-personal-packages}, tandis que d'autres viennent du canal par
défaut de Guix.
+To create a channel, create a Git repository containing your own package
+modules and make it available. The repository can contain anything, but a
+useful channel will contain Guile modules that export packages. Once you
+start using a channel, Guix will behave as if the root directory of that
+channel's Git repository has been added to the Guile load path (@pxref{Load
+Paths,,, guile, GNU Guile Reference Manual}). For example, if your channel
+contains a file at @file{my-packages/my-tools.scm} that defines a Guile
+module, then the module will be available under the name @code{(my-packages
+my-tools)}, and you will be able to use it like any other module
+(@pxref{Modules,,, guile, GNU Guile Reference Manual}).
+
+@cindex dependencies, channels
+@cindex meta-data, channels
+@subsection Declaring Channel Dependencies
+
+Channel authors may decide to augment a package collection provided by other
+channels. They can declare their channel to be dependent on other channels
+in a meta-data file @file{.guix-channel}, which is to be placed in the root
+of the channel repository.
+
+The meta-data file should contain a simple S-expression like this:
+
+@lisp
+(channel
+ (version 0)
+ (dependencies
+ (channel
+ (name some-collection)
+ (url "https://example.org/first-collection.git"))
+ (channel
+ (name some-other-collection)
+ (url "https://example.org/second-collection.git")
+ (branch "testing"))))
+@end lisp
+
+In the above example this channel is declared to depend on two other
+channels, which will both be fetched automatically. The modules provided by
+the channel will be compiled in an environment where the modules of all
+these declared channels are available.
+
+For the sake of reliability and maintainability, you should avoid
+dependencies on channels that you don't control, and you should aim to keep
+the number of dependencies to a minimum.
+
@subsection Répliquer Guix
@cindex épinglage, canaux
@@ -3462,6 +4219,531 @@ produire une liste de spécifications de canaux dans le format Recutils.
Afficher les informations sur le @var{profil}.
@end table
+@node Invoquer guix archive
+@section Invoquer @command{guix archive}
+
+@cindex @command{guix archive}
+@cindex archive
+La commande @command{guix archive} permet aux utilisateurs d'@dfn{exporter}
+des fichiers du dépôt dans une simple archive puis ensuite de les
+@dfn{importer} sur une machine qui fait tourner Guix. En particulier, elle
+permet de transférer des fichiers du dépôt d'une machine vers le dépôt d'une
+autre machine.
+
+@quotation Remarque
+Si vous chercher une manière de produire des archives dans un format adapté
+pour des outils autres que Guix, @pxref{Invoquer guix pack}.
+@end quotation
+
+@cindex exporter des éléments du dépôt
+Pour exporter des fichiers du dépôt comme une archive sur la sortie
+standard, lancez :
+
+@example
+guix archive --export @var{options} @var{spécifications}...
+@end example
+
+@var{spécifications} peut être soit des noms de fichiers soit des
+spécifications de paquets, comme pour @command{guix package}
+(@pxref{Invoquer guix package}). Par exemple, la commande suivante crée une
+archive contenant la sortie @code{gui} du paquet @code{git} et la sortie
+principale de @code{emacs} :
+
+@example
+guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar
+@end example
+
+Si les paquets spécifiés ne sont pas déjà construits, @command{guix archive}
+les construit automatiquement. Le processus de construction peut être
+contrôlé avec les options de construction communes (@pxref{Options de construction communes}).
+
+Pour transférer le paquet @code{emacs} vers une machine connectée en SSH, on
+pourrait lancer :
+
+@example
+guix archive --export -r emacs | ssh la-machine guix archive --import
+@end example
+
+@noindent
+De même, on peut transférer un profil utilisateur complet d'une machine à
+une autre comme cela :
+
+@example
+guix archive --export -r $(readlink -f ~/.guix-profile) | \
+ ssh la-machine guix-archive --import
+@end example
+
+@noindent
+Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le
+profil ainsi que toutes leurs dépendances sont transférées (à cause de
+@code{-r}), indépendamment du fait qu'ils soient disponibles dans le dépôt
+de la machine cible. L'option @code{--missing} peut vous aider à comprendre
+les éléments qui manquent dans le dépôt de la machine cible. La commande
+@command{guix copy} simplifie et optimise ce processus, c'est donc ce que
+vous devriez utiliser dans ce cas (@pxref{Invoquer guix copy}).
+
+@cindex nar, format d'archive
+@cindex archive normalisée (nar)
+Les archives sont stockées au format « archive normalisé » ou « nar », qui
+est comparable dans l'esprit à « tar » mais avec des différences qui le
+rendent utilisable pour ce qu'on veut faire. Tout d'abord, au lieu de
+stocker toutes les métadonnées Unix de chaque fichier, le format nar ne
+mentionne que le type de fichier (normal, répertoire ou lien symbolique) ;
+les permissions Unix, le groupe et l'utilisateur ne sont pas mentionnés.
+Ensuite, l'ordre dans lequel les entrées de répertoires sont stockés suit
+toujours l'ordre des noms de fichier dans l'environnement linguistique C.
+Cela rend la production des archives entièrement déterministe.
+
+@c FIXME: Add xref to daemon doc about signatures.
+Lors de l'export, le démon signe numériquement le contenu de l'archive et
+cette signature est ajoutée à la fin du fichier. Lors de l'import, le démon
+vérifie la signature et rejette l'import en cas de signature invalide ou si
+la clef de signature n'est pas autorisée.
+
+Les principales options sont :
+
+@table @code
+@item --export
+Exporter les fichiers ou les paquets du dépôt (voir plus bas). Écrire
+l'archive résultante sur la sortie standard.
+
+Les dépendances ne sont @emph{pas} incluses dans la sortie à moins que
+@code{--recursive} ne soit passé.
+
+@item -r
+@itemx --recursive
+En combinaison avec @code{--export}, cette option demande à @command{guix
+archive} d'inclure les dépendances des éléments donnés dans l'archive.
+Ainsi, l'archive résultante est autonome : elle contient la closure des
+éléments du dépôt exportés.
+
+@item --import
+Lire une archive depuis l'entrée standard et importer les fichiers inclus
+dans le dépôt. Annuler si l'archive a une signature invalide ou si elle est
+signée par une clef publique qui ne se trouve pas dans le clefs autorisées
+(voir @code{--authorize} plus bas.)
+
+@item --missing
+Liste une liste de noms de fichiers du dépôt sur l'entrée standard, un par
+ligne, et écrit sur l'entrée standard le sous-ensemble de ces fichiers qui
+manquent dans le dépôt.
+
+@item --generate-key[=@var{paramètres}]
+@cindex signature, archives
+Générer une nouvelle paire de clefs pour le démon. Cela est un prérequis
+avant que les archives ne puissent être exportées avec @code{--export}.
+Remarquez que cette opération prend généralement du temps parce qu'elle doit
+récupère suffisamment d'entropie pour générer la paire de clefs.
+
+La paire de clefs générée est typiquement stockée dans @file{/etc/guix},
+dans @file{signing-key.pub} (clef publique) et @file{signing-key.sec} (clef
+privée, qui doit rester secrète). Lorsque @var{paramètres} est omis, une
+clef ECDSA utilisant la courbe Ed25519 est générée ou pour les version de
+libgcrypt avant 1.6.0, une clef RSA de 4096 bits. Autrement,
+@var{paramètres} peut spécifier les paramètres @code{genkey} adaptés pour
+libgcrypt (@pxref{General public-key related Functions,
+@code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual}).
+
+@item --authorize
+@cindex autorisation, archives
+Autoriser les imports signés par la clef publique passée sur l'entrée
+standard. La clef publique doit être au « format avancé s-expression » —
+c.-à-d.@: le même format que le fichier @file{signing-key.pub}.
+
+La liste des clefs autorisées est gardée dans un fichier modifiable par des
+humains dans @file{/etc/guix/acl}. Le fichier contient des
+@url{http://people.csail.mit.edu/rivest/Sexp.txt, « s-expressions au format
+avancé »} et est structuré comme une liste de contrôle d'accès dans
+l'@url{http://theworld.com/~cme/spki.txt, infrastructure à clefs publiques
+simple (SPKI)}.
+
+@item --extract=@var{répertoire}
+@itemx -x @var{répertoire}
+Lit une archive à un seul élément telle que servie par un serveur de
+substituts (@pxref{Substituts}) et l'extrait dans @var{répertoire}. C'est
+une opération de bas niveau requise seulement dans de rares cas d'usage ;
+voir plus loin.
+
+For example, the following command extracts the substitute for Emacs served
+by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}:
+
+@example
+$ wget -O - \
+ https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \
+ | bunzip2 | guix archive -x /tmp/emacs
+@end example
+
+Les archives à un seul élément sont différentes des archives à plusieurs
+éléments produites par @command{guix archive --export} ; elles contiennent
+un seul élément du dépôt et elles n'embarquent @emph{pas} de signature.
+Ainsi cette opération ne vérifie @emph{pas} de signature et sa sortie
+devrait être considérée comme non sûre.
+
+Le but principal de cette opération est de faciliter l'inspection du contenu
+des archives venant de serveurs auxquels on ne fait potentiellement pas
+confiance.
+
+@end table
+
+
+@c *********************************************************************
+@node Development
+@chapter Development
+
+@cindex software development
+If you are a software developer, Guix provides tools that you should find
+helpful---independently of the language you're developing in. This is what
+this chapter is about.
+
+The @command{guix environment} command provides a convenient way to set up
+@dfn{development environments} containing all the dependencies and tools
+necessary to work on the software package of your choice. The @command{guix
+pack} command allows you to create @dfn{application bundles} that can be
+easily distributed to users who do not run Guix.
+
+@menu
+* Invoquer guix environment:: Mettre en place des environnements de
+ développement.
+* Invoquer guix pack:: Créer des lots de logiciels.
+@end menu
+
+@node Invoquer guix environment
+@section Invoquer @command{guix environment}
+
+@cindex environnements de construction reproductibles
+@cindex environnement de développement
+@cindex @command{guix environment}
+@cindex environnement de construction de paquets
+Le but de @command{guix environment} est d'assister les hackers dans la
+création d'environnements de développement reproductibles sans polluer leur
+profil de paquets. L'outil @command{guix environment} prend un ou plusieurs
+paquets, construit leurs entrées et crée un environnement shell pour pouvoir
+les utiliser.
+
+La syntaxe générale est :
+
+@example
+guix environment @var{options} @var{paquet}@dots{}
+@end example
+
+L'exemple suivant crée un nouveau shell préparé pour le développement de
+GNU@tie{}Guile :
+
+@example
+guix environment guile
+@end example
+
+Si les dépendances requises ne sont pas déjà construites, @command{guix
+environment} les construit automatiquement. L'environnement du nouveau
+shell est une version améliorée de l'environnement dans lequel @command{guix
+environment} a été lancé. Il contient les chemins de recherche nécessaires
+à la construction du paquet donné en plus des variables d'environnement
+existantes. Pour créer un environnement « pur », dans lequel les variables
+d'environnement de départ ont été nettoyées, utilisez l'option
+@code{--pure}@footnote{Les utilisateurs ajoutent parfois à tord des valeurs
+supplémentaires dans les variables comme @code{PATH} dans leur
+@file{~/.bashrc}. En conséquence, lorsque @code{guix environment} le lance,
+Bash peut lire @file{~/.bashrc}, ce qui produit des « impuretés » dans ces
+variables d'environnement. C'est une erreur de définir ces variables
+d'environnement dans @file{.bashrc} ; à la place, elles devraient être
+définie dans @file{.bash_profile}, qui est sourcé uniquement par les shells
+de connexion. @xref{Bash Startup Files,,, bash, The GNU Bash Reference
+Manual}, pour des détails sur les fichiers de démarrage de Bash.}.
+
+@vindex GUIX_ENVIRONMENT
+@command{guix environment} définie la variable @code{GUIX_ENVIRONMENT} dans
+le shell qu'il crée ; sa valeur est le nom de fichier du profil de cet
+environnement. Cela permet aux utilisateur, disons, de définir un prompt
+spécifique pour les environnement de développement dans leur @file{.bashrc}
+(@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) :
+
+@example
+if [ -n "$GUIX_ENVIRONMENT" ]
+then
+ export PS1="\u@@\h \w [dev]\$ "
+fi
+@end example
+
+@noindent
+...@: or to browse the profile:
+
+@example
+$ ls "$GUIX_ENVIRONMENT/bin"
+@end example
+
+En plus, plus d'un paquet peut être spécifié, auquel cas l'union des entrées
+des paquets données est utilisée. Par exemple, la commande ci-dessous crée
+un shell où toutes les dépendances de Guile et Emacs sont disponibles :
+
+@example
+guix environment guile emacs
+@end example
+
+Parfois, une session shell interactive est inutile. On peut invoquer une
+commande arbitraire en plaçant le jeton @code{--} pour séparer la commande
+du reste des arguments :
+
+@example
+guix environment guile -- make -j4
+@end example
+
+Dans d'autres situations, il est plus pratique de spécifier la liste des
+paquets requis dans l'environnement. Par exemple, la commande suivante
+lance @command{python} dans un environnement contenant Python@tie{}2.7 et
+NumPy :
+
+@example
+guix environment --ad-hoc python2-numpy python-2.7 -- python
+@end example
+
+En plus, on peut vouloir les dépendance d'un paquet et aussi des paquets
+supplémentaires qui ne sont pas des dépendances à l'exécution ou à la
+construction, mais qui sont utiles au développement tout de même. À cause
+de cela, le drapeau @code{--ad-hoc} est positionnel. Les paquets qui
+apparaissent avant @code{--ad-hoc} sont interprétés comme les paquets dont
+les dépendances seront ajoutées à l'environnement. Les paquets qui
+apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
+ajouter à l'environnement directement. Par exemple, la commande suivante
+crée un environnement de développement pour Guix avec les paquets Git et
+strace en plus :
+
+@example
+guix environment guix --ad-hoc git strace
+@end example
+
+Sometimes it is desirable to isolate the environment as much as possible,
+for maximal purity and reproducibility. In particular, when using Guix on a
+host distro that is not Guix System, it is desirable to prevent access to
+@file{/usr/bin} and other system-wide resources from the development
+environment. For example, the following command spawns a Guile REPL in a
+``container'' where only the store and the current working directory are
+mounted:
+
+@example
+guix environment --ad-hoc --container guile -- guile
+@end example
+
+@quotation Remarque
+L'option @code{--container} requiert Linux-libre 3.19 ou supérieur.
+@end quotation
+
+Les options disponibles sont résumées ci-dessous.
+
+@table @code
+@item --root=@var{fichier}
+@itemx -r @var{fichier}
+@cindex environnement persistent
+@cindex racine du ramasse-miettes, pour les environnements
+Fait de @var{fichier} un lien symbolique vers le profil de cet
+environnement, et l'enregistre comme une racine du ramasse-miettes.
+
+C'est utile si vous souhaitez protéger votre environnement du
+ramasse-miettes, pour le rendre « persistent ».
+
+Lorsque cette option est omise, l'environnement n'est protégé du
+ramasse-miettes que le temps de la session @command{guix environment}. Cela
+signifie que la prochaine fois que vous créerez le même environnement, vous
+pourriez avoir à reconstruire ou télécharger des paquets. @xref{Invoquer guix gc}, pour plus d'informations sur les racines du GC.
+
+@item --expression=@var{expr}
+@itemx -e @var{expr}
+Crée un environnement pour le paquet ou la liste de paquets en lesquels
+s'évalue @var{expr}.
+
+Par exemple, lancer :
+
+@example
+guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'
+@end example
+
+démarre un shell avec l'environnement pour cette variante spécifique du
+paquet PETSc.
+
+Lancer :
+
+@example
+guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
+@end example
+
+starts a shell with all the base system packages available.
+
+Les commande au-dessus n'utilisent que les sorties par défaut des paquets
+donnés. Pour choisir d'autres sorties, on peut spécifier des pairs :
+
+@example
+guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) "include")'
+@end example
+
+@item --load=@var{fichier}
+@itemx -l @var{fichier}
+Crée un environnement pour le paquet ou la liste de paquets en lesquels
+@var{fichier} s'évalue.
+
+Par exemple, @var{fichier} peut contenir une définition comme celle-ci
+(@pxref{Définition des paquets}) :
+
+@example
+@verbatiminclude environment-gdb.scm
+@end example
+
+@item --manifest=@var{fichier}
+@itemx -m @var{fichier}
+Crée un environnement pour les paquets contenus dans l'objet manifeste
+renvoyé par le code Scheme dans @var{fichier}.
+
+C'est similaire à l'option de même nom de @command{guix package}
+(@pxref{profile-manifest, @option{--manifest}}) et utilise les même fichiers
+manifestes.
+
+@item --ad-hoc
+Inclut tous les paquets spécifiés dans l'environnement qui en résulte, comme
+si un paquet @i{ad hoc} était spécifié, avec ces paquets comme entrées.
+Cette option est utile pour créer un environnement rapidement sans avoir à
+écrire une expression de paquet contenant les entrées désirées.
+
+Par exemple la commande :
+
+@example
+guix environment --ad-hoc guile guile-sdl -- guile
+@end example
+
+lance @command{guile} dans un environnement où Guile et Guile-SDDL sont
+disponibles.
+
+Remarquez que cet exemple demande implicitement la sortie par défaut de
+@code{guile} et @code{guile-sdl}, mais il est possible de demander une
+sortie spécifique — p.@: ex.@: @code{glib:bin} demande la sortie @code{bin}
+de @code{glib} (@pxref{Des paquets avec plusieurs résultats}).
+
+Cette option peut être composée avec le comportement par défaut de
+@command{guix environment}. Les paquets qui apparaissent avant
+@code{--ad-hoc} sont interprétés comme les paquets dont les dépendances
+seront ajoutées à l'environnement, le comportement par défaut. Les paquets
+qui apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
+ajouter à l'environnement directement.
+
+@item --pure
+Unset existing environment variables when building the new environment,
+except those specified with @option{--inherit} (see below.) This has the
+effect of creating an environment in which search paths only contain package
+inputs.
+
+@item --inherit=@var{regexp}
+When used alongside @option{--pure}, inherit all the environment variables
+matching @var{regexp}---in other words, put them on a ``white list'' of
+environment variables that must be preserved. This option can be repeated
+several times.
+
+@example
+guix environment --pure --inherit=^SLURM --ad-hoc openmpi @dots{} \
+ -- mpirun @dots{}
+@end example
+
+This example runs @command{mpirun} in a context where the only environment
+variables defined are @code{PATH}, environment variables whose name starts
+with @code{SLURM}, as well as the usual ``precious'' variables (@code{HOME},
+@code{USER}, etc.)
+
+@item --search-paths
+Affiche les définitions des variables d'environnement qui composent
+l'environnement.
+
+@item --system=@var{système}
+@itemx -s @var{système}
+Essaye de construire pour @var{système} — p.@: ex.@: @code{i686-linux}.
+
+@item --container
+@itemx -C
+@cindex conteneur
+Lance @var{commande} dans un conteneur isolé. Le répertoire de travail
+actuel en dehors du conteneur est monté dans le conteneur. En plus, à moins
+de le changer avec @code{--user}, un répertoire personnel fictif est créé
+pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwd} est
+configuré en conséquence. Le processus est lancé en tant que l'utilisateur
+actuel en dehors du conteneur, mais a les privilèges root dans le contexte
+du conteneur.
+
+@item --network
+@itemx -N
+Pour les conteneurs, partage l'espace de nom du réseau avec le système
+hôte. Les conteneurs créés sans cette option n'ont accès qu'à l'interface
+de boucle locale.
+
+@item --link-profile
+@itemx -P
+Pour les conteneurs, lie le profil de l'environnement à
+@file{~/.guix-profile} dans le conteneur. C'est équivalent à lance la
+commande @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile} dans le
+conteneur. La liaison échouera et annulera l'environnement si le répertoire
+existe déjà, ce qui sera sans doute le cas si @command{guix environment} est
+invoqué dans le répertoire personnel de l'utilisateur.
+
+Certains paquets sont configurés pour chercher des fichiers de configuration
+et des données dans @code{~/.guix-profile}@footnote{Par exemple, le paquet
+@code{fontconfig} inspecte @file{~/.guix-profile/share/fonts} pour trouver
+des polices supplémentaires.} ; @code{--link-profile} permet à ces
+programmes de se comporter comme attendu dans l'environnement.
+
+@item --user=@var{utilisateur}
+@itemx -u @var{utilisateur}
+Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à la
+place de l'utilisateur actuel. L'entrée générée dans @file{/etc/passwd}
+dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire
+personnel sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera
+copiée. @var{utilisateur} n'a pas besoin d'exister sur le système.
+
+En plus, tous les chemins partagés ou exposés (voir @code{--share} et
+@code{--expose} respectivement) dont la cible est dans le répertoire
+personnel de l'utilisateur seront remontés relativement à
+@file{/home/UTILISATEUR} ; cela comprend le montage automatique du
+répertoire de travail actuel.
+
+@example
+# exposera les chemins comme /home/foo/wd, /home/foo/test et /home/foo/target
+cd $HOME/wd
+guix environment --container --user=foo \
+ --expose=$HOME/test \
+ --expose=/tmp/target=$HOME/target
+@end example
+
+Bien que cela limite la fuite de l'identité de l'utilisateur à travers le
+chemin du répertoire personnel et des champs de l'utilisateur, ce n'est
+qu'un composant utile pour une solution d'anonymisation ou de préservation
+de la vie privée — pas une solution en elle-même.
+
+@item --expose=@var{source}[=@var{cible}]
+Pour les conteneurs, expose le système de fichiers @var{source} du système
+hôte comme un système de fichiers en lecture seule @var{cible} dans le
+conteneur. Si @var{cible} n'est pas spécifiée, @var{source} est utilisé
+comme point de montage dans le conteneur.
+
+L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
+répertoire personnel de l'utilisateur est accessible en lecture-seule via le
+répertoire @file{/exchange} :
+
+@example
+guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile
+@end example
+
+@item --share=@var{source}[=@var{cible}]
+Pour les conteneurs, partage le système de fichiers @var{source} du système
+hôte comme un système de fichiers en lecture-écriture @var{cible} dans le
+conteneur. Si @var{cible} n'est pas spécifiée, @var{source} est utilisée
+comme point de montage dans le conteneur.
+
+L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
+répertoire personnel de l'utilisateur est accessible en lecture-écriture via
+le répertoire @file{/exchange} :
+
+@example
+guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile
+@end example
+@end table
+
+@command{guix environment} also supports all of the common build options
+that @command{guix build} supports (@pxref{Options de construction communes}) as well as
+package transformation options (@pxref{Options de transformation de paquets}).
+
@node Invoquer guix pack
@section Invoquer @command{guix pack}
@@ -3481,7 +4763,7 @@ et @ref{Invoquer guix archive}.
@cindex lot d'applications
@cindex lot de logiciels
La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de logiciels}
-: elle crée une archive tar ou un autre type d'archive contenunt les
+: elle crée une archive tar ou un autre type d'archive contenant les
binaires pour le logiciel qui vous intéresse ainsi que ses dépendances.
L'archive qui en résulte peut être utilisée sur toutes les machines qui
n'ont pas Guix et les gens peuvent lancer exactement les mêmes binaires que
@@ -3693,172 +4975,6 @@ communes (@pxref{Options de construction communes}) et toutes les options de
transformation de paquets (@pxref{Options de transformation de paquets}).
-@node Invoquer guix archive
-@section Invoquer @command{guix archive}
-
-@cindex @command{guix archive}
-@cindex archive
-La commande @command{guix archive} permet aux utilisateurs d'@dfn{exporter}
-des fichiers du dépôt dans une simple archive puis ensuite de les
-@dfn{importer} sur une machine qui fait tourner Guix. En particulier, elle
-permet de transférer des fichiers du dépôt d'une machine vers le dépôt d'une
-autre machine.
-
-@quotation Remarque
-Si vous chercher une manière de produire des archives dans un format adapté
-pour des outils autres que Guix, @pxref{Invoquer guix pack}.
-@end quotation
-
-@cindex exporter des éléments du dépôt
-Pour exporter des fichiers du dépôt comme une archive sur la sortie
-standard, lancez :
-
-@example
-guix archive --export @var{options} @var{spécifications}...
-@end example
-
-@var{spécifications} peut être soit des noms de fichiers soit des
-spécifications de paquets, comme pour @command{guix package}
-(@pxref{Invoquer guix package}). Par exemple, la commande suivante crée une
-archive contenant la sortie @code{gui} du paquet @code{git} et la sortie
-principale de @code{emacs} :
-
-@example
-guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar
-@end example
-
-Si les paquets spécifiés ne sont pas déjà construits, @command{guix archive}
-les construit automatiquement. Le processus de construction peut être
-contrôlé avec les options de construction communes (@pxref{Options de construction communes}).
-
-Pour transférer le paquet @code{emacs} vers une machine connectée en SSH, on
-pourrait lancer :
-
-@example
-guix archive --export -r emacs | ssh la-machine guix archive --import
-@end example
-
-@noindent
-De même, on peut transférer un profil utilisateur complet d'une machine à
-une autre comme cela :
-
-@example
-guix archive --export -r $(readlink -f ~/.guix-profile) | \
- ssh la-machine guix-archive --import
-@end example
-
-@noindent
-Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le
-profil ainsi que toutes leurs dépendances sont transférées (à cause de
-@code{-r}), indépendamment du fait qu'ils soient disponibles dans le dépôt
-de la machine cible. L'option @code{--missing} peut vous aider à comprendre
-les éléments qui manquent dans le dépôt de la machine cible. La commande
-@command{guix copy} simplifie et optimise ce processus, c'est donc ce que
-vous devriez utiliser dans ce cas (@pxref{Invoquer guix copy}).
-
-@cindex nar, format d'archive
-@cindex archive normalisée (nar)
-Les archives sont stockées au format « archive normalisé » ou « nar », qui
-est comparable dans l'esprit à « tar » mais avec des différences qui le
-rendent utilisable pour ce qu'on veut faire. Tout d'abord, au lieu de
-stocker toutes les métadonnées Unix de chaque fichier, le format nar ne
-mentionne que le type de fichier (normal, répertoire ou lien symbolique) ;
-les permissions Unix, le groupe et l'utilisateur ne sont pas mentionnés.
-Ensuite, l'ordre dans lequel les entrées de répertoires sont stockés suit
-toujours l'ordre des noms de fichier dans l'environnement linguistique C.
-Cela rend la production des archives entièrement déterministe.
-
-@c FIXME: Add xref to daemon doc about signatures.
-Lors de l'export, le démon signe numériquement le contenu de l'archive et
-cette signature est ajoutée à la fin du fichier. Lors de l'import, le démon
-vérifie la signature et rejette l'import en cas de signature invalide ou si
-la clef de signature n'est pas autorisée.
-
-Les principales options sont :
-
-@table @code
-@item --export
-Exporter les fichiers ou les paquets du dépôt (voir plus bas). Écrire
-l'archive résultante sur la sortie standard.
-
-Les dépendances ne sont @emph{pas} incluses dans la sortie à moins que
-@code{--recursive} ne soit passé.
-
-@item -r
-@itemx --recursive
-En combinaison avec @code{--export}, cette option demande à @command{guix
-archive} d'inclure les dépendances des éléments donnés dans l'archive.
-Ainsi, l'archive résultante est autonome : elle contient la closure des
-éléments du dépôt exportés.
-
-@item --import
-Lire une archive depuis l'entrée standard et importer les fichiers inclus
-dans le dépôt. Annuler si l'archive a une signature invalide ou si elle est
-signée par une clef publique qui ne se trouve pas dans le clefs autorisées
-(voir @code{--authorize} plus bas.)
-
-@item --missing
-Liste une liste de noms de fichiers du dépôt sur l'entrée standard, un par
-ligne, et écrit sur l'entrée standard le sous-ensemble de ces fichiers qui
-manquent dans le dépôt.
-
-@item --generate-key[=@var{paramètres}]
-@cindex signature, archives
-Générer une nouvelle paire de clefs pour le démon. Cela est un prérequis
-avant que les archives ne puissent être exportées avec @code{--export}.
-Remarquez que cette opération prend généralement du temps parce qu'elle doit
-récupère suffisamment d'entropie pour générer la paire de clefs.
-
-La paire de clefs générée est typiquement stockée dans @file{/etc/guix},
-dans @file{signing-key.pub} (clef publique) et @file{signing-key.sec} (clef
-privée, qui doit rester secrète). Lorsque @var{paramètres} est omis, une
-clef ECDSA utilisant la courbe Ed25519 est générée ou pour les version de
-libgcrypt avant 1.6.0, une clef RSA de 4096 bits. Autrement,
-@var{paramètres} peut spécifier les paramètres @code{genkey} adaptés pour
-libgcrypt (@pxref{General public-key related Functions,
-@code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual}).
-
-@item --authorize
-@cindex autorisation, archives
-Autoriser les imports signés par la clef publique passée sur l'entrée
-standard. La clef publique doit être au « format avancé s-expression » —
-c.-à-d.@: le même format que le fichier @file{signing-key.pub}.
-
-La liste des clefs autorisées est gardée dans un fichier modifiable par des
-humains dans @file{/etc/guix/acl}. Le fichier contient des
-@url{http://people.csail.mit.edu/rivest/Sexp.txt, « s-expressions au format
-avancé »} et est structuré comme une liste de contrôle d'accès dans
-l'@url{http://theworld.com/~cme/spki.txt, infrastructure à clefs publiques
-simple (SPKI)}.
-
-@item --extract=@var{répertoire}
-@itemx -x @var{répertoire}
-Lit une archive à un seul élément telle que servie par un serveur de
-substituts (@pxref{Substituts}) et l'extrait dans @var{répertoire}. C'est
-une opération de bas niveau requise seulement dans de rares cas d'usage ;
-voir plus loin.
-
-Par exemple, la commande suivante extrait le substitut pour Emacs servi par
-@code{hydra.gnu.org} dans @file{/tmp/emacs} :
-
-@example
-$ wget -O - \
- https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \
- | bunzip2 | guix archive -x /tmp/emacs
-@end example
-
-Les archives à un seul élément sont différentes des archives à plusieurs
-éléments produites par @command{guix archive --export} ; elles contiennent
-un seul élément du dépôt et elles n'embarquent @emph{pas} de signature.
-Ainsi cette opération ne vérifie @emph{pas} de signature et sa sortie
-devrait être considérée comme non sûre.
-
-Le but principal de cette opération est de faciliter l'inspection du contenu
-des archives venant de serveurs auxquels on ne fait potentiellement pas
-confiance.
-
-@end table
-
@c *********************************************************************
@node Interface de programmation
@chapter Interface de programmation
@@ -3893,17 +5009,82 @@ Ce chapitre décrit toutes ces API tour à tour, à partir des définitions de
paquets à haut-niveau.
@menu
+* Modules de paquets:: Les paquets du point de vu du programmeur.
* Définition des paquets:: Définir de nouveaux paquets.
* Systèmes de construction:: Spécifier comment construire les paquets.
* Le dépôt:: Manipuler le dépôt de paquets.
* Dérivations:: Interface de bas-niveau avec les dérivations
de paquets.
-* La monad du dépôt:: Interface purement fonctionnelle avec le
+* La monade du dépôt:: Interface purement fonctionnelle avec le
dépôt.
* G-Expressions:: Manipuler les expressions de construction.
* Invoquer guix repl:: S'amuser avec Guix de manière interactive.
@end menu
+@node Modules de paquets
+@section Modules de paquets
+
+D'un point de vue programmatique, les définitions de paquets de la
+distribution GNU sont fournies par des modules Guile dans l'espace de noms
+@code{(gnu packages @dots{})}@footnote{Remarquez que les paquets sous
+l'espace de nom @code{(gnu packages @dots{})} ne sont pas nécessairement des
+« paquets GNU ». Le nom de ce module suit la convention de nommage usuelle
+de Guile : @code{gnu} signifie que ces modules sont distribués dans le
+système GNU, et @code{packages} identifie les modules qui définissent les
+paquets.} (@pxref{Modules, Guile modules,, guile, GNU Guile Reference
+Manual}). Par exemple, le module @code{(gnu packages emacs)} exporte une
+variable nommée @code{emacs}, qui est liée à un objet @code{<package>}
+(@pxref{Définition des paquets}).
+
+L'espace de nom @code{(gnu packages @dots{})} est automatiquement scanné par
+les outils en ligne de commande. Par exemple, lorsque vous lancez
+@code{guix package -i emacs}, tous les modules @code{(gnu packages @dots{})}
+sont scannés jusqu'à en trouver un qui exporte un objet de paquet dont le
+nom est @code{emacs}. Cette capacité à chercher des paquets est implémentée
+dans le module @code{(gnu packages)}.
+
+@cindex personnalisation, des paquets
+@cindex chemin de recherche des modules de paquets
+Les utilisateurs peuvent stocker des définitions dans des modules avec des
+noms différents — p.@: ex.@: @code{(my-packages emacs)}@footnote{Remarquez
+que le nom de fichier et de module doivent être identiques. Par exemple, le
+module @code{(my-packages emacs)} doit être stocké dans un fichier
+@file{my-packages/emacs.scm} relativement au chemin de chargement spécifié
+avec @option{--load-path} ou @code{GUIX_PACKAGE_PATH}. @xref{Modules and
+the File System,,, guile, GNU Guile Reference Manual} pour plus de
+détails}. Il y a deux manières de rendre ces définitions visibles aux
+interfaces utilisateurs :
+
+@enumerate
+@item
+En ajoutant le répertoire contenant vos modules de paquets au chemin de
+recherche avec le drapeau @code{-L} de @command{guix package} et des autres
+commandes (@pxref{Options de construction communes}) ou en indiquant la variable
+d'environnement @code{GUIX_PACKAGE_PATH} décrite plus bas.
+
+@item
+En définissant un @dfn{canal} et en configurant @command{guix pull} pour
+qu'il l'utilise. Un canal est essentiellement un dépôt Git contenant des
+modules de paquets. @xref{Canaux}, pour plus d'informations sur comment
+définir et utiliser des canaux.
+@end enumerate
+
+@code{GUIX_PACKAGE_PATH} fonctionne comme les autres variables de chemins de
+recherche :
+
+@defvr {Variable d'environnement} GUIX_PACKAGE_PATH
+C'est une liste séparée par des deux-points de répertoires dans lesquels
+trouver des modules de paquets supplémentaires. Les répertoires listés dans
+cette variable sont prioritaires par rapport aux paquets de la distribution.
+@end defvr
+
+La distribution est entièrement @dfn{bootstrappée} et @dfn{auto-contenue} :
+chaque paquet est construit uniquement à partir d'autres paquets de la
+distribution. La racine de ce graphe de dépendance est un petit ensemble de
+@dfn{binaires de bootstrap} fournis par le module @code{(gnu packages
+bootstrap)}. Pour plus d'informations sur le bootstrap,
+@pxref{Bootstrapping}.
+
@node Définition des paquets
@section Définition des paquets
@@ -4029,9 +5210,9 @@ on définie une entrée nommée @code{"gawk"} dont la valeur est la variable
@findex ,@@
@findex unquote-splicing
De nouveau, @code{`} (un accent grave, synonyme de la fonction
-@code{quasiquote}) nous permet d'introduire une liste litérale dans le champ
-@code{inputs}, tandis que @code{,} (une virgule, synonyme de la fonction
-@code{unquote}) nous permet d'insérer une valeur dans cette liste
+@code{quasiquote}) nous permet d'introduire une liste littérale dans le
+champ @code{inputs}, tandis que @code{,} (une virgule, synonyme de la
+fonction @code{unquote}) nous permet d'insérer une valeur dans cette liste
(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual}).
Remarquez que GCC, Coreutils, Bash et les autres outils essentiels n'ont pas
@@ -4054,9 +5235,9 @@ construit avec l'outil en ligne de commande @code{guix build}
vous pourriez rencontrer (@pxref{Débogage des échecs de construction}). Vous pouvez
aisément revenir à la définition du paquet avec la commande @command{guix
edit} (@pxref{Invoquer guix edit}). @xref{Consignes d'empaquetage}, pour plus
-d'inforamtions sur la manière de tester des définitions de paquets et
+d'informations sur la manière de tester des définitions de paquets et
@ref{Invoquer guix lint}, pour des informations sur la manière de vérifier
-que la définition réspecte les conventions de style.
+que la définition respecte les conventions de style.
@vindex GUIX_PACKAGE_PATH
Enfin, @pxref{Canaux} pour des informations sur la manière d'étendre la
distribution en ajoutant vos propres définitions de paquets dans un « canal
@@ -4089,7 +5270,7 @@ effectue une compilation croisée d'un paquet pour un autre système :
@deffn {Procédure Scheme} package-cross-derivation @var{store} @
@var{paquet} @var{cible} [@var{système}] renvoie l'objet @code{<derivation>}
-duof @var{paquet} construit depuis @var{système} pour @var{cible}.
+du @var{paquet} construit depuis @var{système} pour @var{cible}.
@var{cible} doit être un triplet GNU valide indiquant le matériel cible et
le système d'exploitation, comme @code{"mips64el-linux-gnu"}
@@ -4513,7 +5694,7 @@ sources, par défaut « src ».
Le paramètre @code{#:main-class} peut être utilisé avec le fichier de
construction minimal pour spécifier la classe principale du jar. Cela rend
le fichier jar exécutable. Le paramètre @code{#:test-include} peut être
-utilisé pour spécifier la liste des tests junit à lancer. Il vaut par
+utilisé pour spécifier la liste des tests junits à lancer. Il vaut par
défaut @code{(list "**/*Test.java")}. Le paramètre @code{#:test-exclude}
peut être utilisé pour désactiver certains tests. Sa valeur par défaut est
@code{(list "**/Abstract*.java")}, parce que les classes abstraites ne
@@ -4696,6 +5877,26 @@ le code sera compilé avec @code{-O2 -g} comme pour les paquets autoconf par
défaut.
@end defvr
+@defvr {Scheme Variable} dune-build-system
+This variable is exported by @code{(guix build-system dune)}. It supports
+builds of packages using @uref{https://dune.build/, Dune}, a build tool for
+the OCaml programming language. It is implemented as an extension of the
+@code{ocaml-build-system} which is described below. As such, the
+@code{#:ocaml} and @code{#:findlib} parameters can be passed to this build
+system.
+
+It automatically adds the @code{dune} package to the set of inputs. Which
+package is used can be specified with the @code{#:dune} parameter.
+
+There is no @code{configure} phase because dune packages typically don't
+need to be configured. The @code{#:build-flags} parameter is taken as a
+list of flags passed to the @code{dune} command during the build.
+
+The @code{#:jbuild?} parameter can be passed to use the @code{jbuild}
+command instead of the more recent @code{dune} command while building a
+package. Its default value is @code{#f}.
+@end defvr
+
@defvr {Variable Scheme} go-build-system
Cette variable est exportée par @code{(guix build-system go)}. Elle
implémente la procédure pour les paquets Go utilisant les
@@ -4803,7 +6004,7 @@ construction supposera que ces fichiers ont été générés par
@uref{http://oasis.forge.ocamlcore.org/, OASIS} et prendra soin
d'initialiser le préfixe et d'activer les tests s'ils ne sont pas
désactivés. Vous pouvez passer des drapeaux de configuration et de
-consturction avec @code{#:configure-flags} et @code{#:build-flags}. La clef
+construction avec @code{#:configure-flags} et @code{#:build-flags}. La clef
@code{#:test-flags} peut être passée pour changer l'ensemble des drapeaux
utilisés pour activer les tests. La clef @code{#:use-make?} peut être
utilisée pour outrepasser ce système dans les phases de construction et
@@ -4840,9 +6041,9 @@ bibliothèques ne peuvent pas y être trouvées et on utilise
@defvr {Variable Scheme} python-build-system
Cette variable est exportée par @code{(guix build-system python)}. Elle
-implémente la procédure de construction plus ou moins standarde utilisée
-pour les paquets Python, qui consiste à lancer @code{python setup.py build}
-puis @code{python setup.py install --prefix=/gnu/store/@dots{}}.
+implémente la procédure de construction plus ou moins standard utilisée pour
+les paquets Python, qui consiste à lancer @code{python setup.py build} puis
+@code{python setup.py install --prefix=/gnu/store/@dots{}}.
Pour les paquets qui installent des programmes autonomes dans @code{bin/},
elle prend soin d'envelopper ces binaires pour que leur variable
@@ -4863,7 +6064,7 @@ en mettant le paramètre @code{#:use-setuptools} à @code{#f}.
@defvr {Variable Scheme} perl-build-system
Cette variable est exportée par @code{(guix build-system perl)}. Elle
-implémente la procédure de construction standarde des paquets Perl, qui
+implémente la procédure de construction standard des paquets Perl, qui
consiste soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}},
suivi de @code{Build} et @code{Build install} ; ou à lancer @code{perl
Makefile.PL PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make
@@ -5207,8 +6408,8 @@ Renvoie @code{#t} lorsque @var{path} désigne un élément du dépôt valide et
invalide, par exemple parce que c'est le résultat d'une construction annulée
ou échouée).
-Une condition @code{&nix-protocol-error} est levée si @var{path} n'est pas
-préfixée par le répertoire du dépôt (@file{/gnu/store}).
+A @code{&store-protocol-error} condition is raised if @var{path} is not
+prefixed by the store directory (@file{/gnu/store}).
@end deffn
@deffn {Procédure Scheme} add-text-to-store @var{server} @var{name} @var{text} [@var{references}]
@@ -5223,9 +6424,9 @@ chemins de dérivations) et retourne quand le travailleur a fini de les
construire. Renvoie @code{#t} en cas de réussite.
@end deffn
-Remarque que le module @code{(guix monads)} fournit une monad ainsi que des
+Remarque que le module @code{(guix monads)} fournit une monade ainsi que des
version monadiques des procédures précédentes, avec le but de rendre plus
-facile de travailler avec le code qui accède au dépôt (@pxref{La monad du dépôt}).
+facile de travailler avec le code qui accède au dépôt (@pxref{La monade du dépôt}).
@c FIXME
@i{Cette section est actuellement incomplète.}
@@ -5416,8 +6617,8 @@ un fichier :
@end lisp
-@node La monad du dépôt
-@section La monad du dépôt
+@node La monade du dépôt
+@section La monade du dépôt
@cindex monad
@@ -5437,14 +6638,14 @@ dépôt ont des effets de bord ou dépendent d'états externes, elles doivent
@cindex fonctions monadiques
C'est là que le module @code{(guix monads)} arrive à la rescousse. Ce
module fournit un cadre pour travailler avec des @dfn{monads}, en
-particulier une monad très utile pour notre usage, la @dfn{monad du dépôt}.
-Les monads sont des constructions qui permettent deux choses : associer un «
-contexte » avec une valeur (dans notre cas, le contexte est le dépôt) et
-construire une séquence de calculs (ici les calculs comprennent des accès au
-dépôt). Les valeurs dans une monad — les valeurs qui contiennent ce
-contexte supplémentaire — sont appelées des @dfn{valeurs monadiques} ; les
-procédures qui renvoient ce genre de valeur sont appelées des
-@dfn{procédures monadiques}.
+particulier une monade très utile pour notre usage, la @dfn{monade du
+dépôt}. Les monades sont des constructions qui permettent deux choses :
+associer un « contexte » avec une valeur (dans notre cas, le contexte est le
+dépôt) et construire une séquence de calculs (ici les calculs comprennent
+des accès au dépôt). Les valeurs dans une monade — les valeurs qui
+contiennent ce contexte supplémentaire — sont appelées des @dfn{valeurs
+monadiques} ; les procédures qui renvoient ce genre de valeur sont appelées
+des @dfn{procédures monadiques}.
Considérez cette procédure « normale » :
@@ -5493,10 +6694,10 @@ puisqu'il aura lieu implicitement, comme nous le verrons plus tard
@c for the funny quote.
L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet. En
anglais on pourrait dire « you exit a monad like you exit a building on
-fire: by running »@footnote{NdT : « on sort d'une monad comme d'un immeuble
-en flamme, en courant ». Le jeu de mot est perdu à la traduction : courrir
+fire: by running »@footnote{NdT : « on sort d'une monade comme d'un immeuble
+en flamme, en courant ». Le jeu de mot est perdu à la traduction : courir
et lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de
-la monad et obtenir l'effet escompté, on doit utiliser
+la monade et obtenir l'effet escompté, on doit utiliser
@code{run-with-store}.
@example
@@ -5532,7 +6733,7 @@ scheme@@(guile-user)>
Remarquez qu'on ne peut pas renvoyer de valeur non monadique dans la console
@code{store-monad}.
-Les formes syntaxiques principales pour utiliser des monads en général sont
+Les formes syntaxiques principales pour utiliser des monades en général sont
disponibles dans le module @code{(guix monads)} et sont décrites ci-dessous.
@deffn {Syntaxe Scheme} with-monad @var{monad} @var{body} ...
@@ -5597,30 +6798,30 @@ des expressions monadiques sont ignorées. Dans ce sens, elle est analogue à
@deffn {Système Scheme} mwhen @var{condition} @var{mexp0} @var{mexp*} ...
Lorsque la @var{condition} est vraie, évalue la séquence des expressions
monadiques @var{mexp0}..@var{mexp*} comme dans un @code{mbegin}. Lorsque la
-@var{condition} est fausse, renvoie @code{*unspecified*} dans la monad
-actuelle. Cahque expression dans la séquence doit être une expression
+@var{condition} est fausse, renvoie @code{*unspecified*} dans la monade
+actuelle. Chaque expression dans la séquence doit être une expression
monadique.
@end deffn
@deffn {Système Scheme} munless @var{condition} @var{mexp0} @var{mexp*} ...
Lorsque la @var{condition} est fausse, évalue la séquence des expressions
monadiques @var{mexp0}..@var{mexp*} comme dans un @code{mbegin}. Lorsque la
-@var{condition} est vraie, renvoie @code{*unspecified*} dans la monad
-actuelle. Cahque expression dans la séquence doit être une expression
+@var{condition} est vraie, renvoie @code{*unspecified*} dans la monade
+actuelle. Chaque expression dans la séquence doit être une expression
monadique.
@end deffn
-@cindex monad d'état
-Le module @code{(guix monads)} fournit la @dfn{monad d'état} qui permet à
+@cindex monade d'état
+Le module @code{(guix monads)} fournit la @dfn{monade d'état} qui permet à
une valeur supplémentaire — l'état — d'être enfilée à travers les appels de
procédures.
@defvr {Variable Scheme} %state-monad
-La monad d'état. les procédure dans la monad d'état peuvent accéder et
+La monade d'état. les procédure dans la monade d'état peuvent accéder et
modifier l'état qui est enfilé.
Considérez l'exemple ci-dessous. La procédure @code{square} renvoie une
-valeur dans la monad d'état. Elle renvoie le carré de son argument, mais
+valeur dans la monade d'état. Elle renvoie le carré de son argument, mais
incrémente aussi la valeur actuelle de l'état :
@example
@@ -5664,19 +6865,19 @@ initiale. Renvoie deux valeurs : la valeur du résultat et l'état du
résultat.
@end deffn
-L'interface principale avec la monad du dépôt, fournit par le module
+L'interface principale avec la monade du dépôt, fournit par le module
@code{(guix store)}, est la suivante.
@defvr {Variable Scheme} %store-monad
-La monad du dépôt — un alias pour @var{%state-monad}.
+La monade du dépôt — un alias pour @var{%state-monad}.
-Les valeurs dans la monad du dépôt encapsulent des accès au dépôt. Lorsque
-son effet est requis, une valeur de la monad du dépôt doit être « évaluée »
+Les valeurs dans la monade du dépôt encapsulent des accès au dépôt. Lorsque
+son effet est requis, une valeur de la monade du dépôt doit être « évaluée »
en la passant à la procédure @code{run-with-store} (voir plus bas).
@end defvr
@deffn {Procédure Scheme} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)]
-Lance @var{mval}, une valeur monadique dans la monad du dépôt, dans
+Lance @var{mval}, une valeur monadique dans la monade du dépôt, dans
@var{store}, une connexion ouvert au dépôt.
@end deffn
@@ -5780,7 +6981,7 @@ de S-expression adaptée aux expressions de construction. Les G-expression,
ou @dfn{gexps}, consistent en gros en trois formes syntaxiques :
@code{gexp}, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement :
@code{#~}, @code{#$} et @code{#$@@}), qui sont comparable à
-@code{quasiquote}, @code{unquote} ett @code{unquote-splicing} respectivement
+@code{quasiquote}, @code{unquote} et @code{unquote-splicing} respectivement
(@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference
Manual}). Cependant il y a des différences majeures :
@@ -5795,7 +6996,7 @@ unquotée dans une gexp, le résultat est comme si le nom de fichier de son
résultat avait été introduit.
@item
-Les gexps transportent des informatinos sur les paquets ou les dérivations
+Les gexps transportent des informations sur les paquets ou les dérivations
auxquels elles se réfèrent, et ces dépendances sont automatiquement ajoutées
comme des entrées du processus de construction qui les utilise.
@end itemize
@@ -5887,7 +7088,7 @@ récupéré dans l'environnement de construction isolé de notre gexp, pour que
@cindex closure de module
@findex source-module-closure
-Typiquement, vous voudriez que la @emph{closure} complète du mondule soit
+Typiquement, vous voudriez que la @emph{closure} complète du module soit
importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend —
plutôt que seulement le module ; sinon, une tentative de chargement du
module échouera à cause des modules dépendants manquants. La procédure
@@ -5990,7 +7191,7 @@ Marque les gexps définies dans @var{body}@dots{} comme requérant
@var{modules} dans leur environnement d'exécution.
Chaque élément dans @var{module} peut être le nom d'un module, comme
-@code{(guix build utils)} ou le nom d'un module suivi d'une flêche, suivie
+@code{(guix build utils)} ou le nom d'un module suivi d'une flèche, suivie
d'un objet simili-fichier :
@example
@@ -6029,7 +7230,7 @@ Renvoie @code{#t} si @var{obj} est une G-expression.
Les G-expressions sont conçues pour être écrites sur le disque, soit en tant
que code pour construire une dérivation, soit en tant que fichier normal
dans le dépôt. Les procédure monadiques suivantes vous permettent de faire
-cela (@pxref{La monad du dépôt}, pour plus d'information sur les monads).
+cela (@pxref{La monade du dépôt}, pour plus d'information sur les monads).
@deffn {Procédure monadique} gexp->derivation @var{name} @var{exp} @
[#:system (%current-system)] [#:target #f] [#:graft? #t] @
@@ -6134,7 +7335,7 @@ absolu de l'entrée et @var{stat} est le résultat de @code{lstat} ; à
l'exception des entrées pour lesquelles @var{select?} ne renvoie pas vrai.
C'est la version déclarative de la procédure monadique @code{interned-file}
-(@pxref{La monad du dépôt, @code{interned-file}}).
+(@pxref{La monade du dépôt, @code{interned-file}}).
@end deffn
@deffn {Procédure Scheme} plain-file @var{name} @var{content}
@@ -6171,7 +7372,7 @@ L'exemple ci-dessous construit un script qui invoque simplement la commande
"ls"))
@end example
-Lorsqu'elle est « lancée » à travers le dépôt (@pxref{La monad du dépôt,
+Lorsqu'elle est « lancée » à travers le dépôt (@pxref{La monade du dépôt,
@code{run-with-store}}), on obtient une dérivation qui produit une fichier
exécutable @file{/gnu/store/@dots{}-list-files} qui ressemble à :
@@ -6411,8 +7612,6 @@ Guix d'une manière pratique.
paquets.
* Invoquer guix size:: Profiler l'utilisation du disque.
* Invoquer guix graph:: Visualiser le graphe des paquets.
-* Invoquer guix environment:: Mettre en place des environnements de
- développement.
* Invoquer guix publish:: Partager des substituts.
* Invoquer guix challenge:: Défier les serveurs de substituts.
* Invoquer guix copy:: Copier vers et depuis un dépôt distant.
@@ -6582,11 +7781,15 @@ de @var{secondes}, le terminer et rapporter une erreur de construction.
Par défaut, les paramètres du démon sont pris en compte (@pxref{Invoquer guix-daemon, @code{--timeout}}).
-@item --verbosity=@var{level}
-Utilise le niveau de verbosité donné. @var{level} doit être un entier entre
-0 et 5 ; les entiers les plus hauts signifient une sortie plus verbeuse. Le
-mettre à 4 ou plus peut être utile pour déboguer des problèmes de
-configuration du démon de construction.
+@c Note: This option is actually not part of %standard-build-options but
+@c most programs honor it.
+@cindex verbosity, of the command-line tools
+@cindex build logs, verbosity
+@item -v @var{level}
+@itemx --verbosity=@var{level}
+Use the given verbosity @var{level}, an integer. Choosing 0 means that no
+output is produced, 1 is for quiet output, and 2 shows all the build log
+output on standard error.
@item --cores=@var{n}
@itemx -c @var{n}
@@ -6598,6 +7801,12 @@ valeur spéciale @code{0} signifie autant de cœurs que possible.
Permet au plus @var{n} travaux de construction en parallèle. @xref{Invoquer guix-daemon, @code{--max-jobs}}, pour plus de détails sur cette option et
l'option équivalente pour @command{guix-daemon}.
+@item --debug=@var{level}
+Produce debugging output coming from the build daemon. @var{level} must be
+an integer between 0 and 5; higher means more verbose output. Setting a
+level of 4 or more may be helpful when debugging setup issues with the build
+daemon.
+
@end table
Sous le capot, @command{guix build} est surtout un interface à la procédure
@@ -6655,7 +7864,7 @@ partir de @var{source} ; dans l'exemple précédent, il s'agit de
Cette option permet aux utilisateurs d'essayer des version des paquets
différentes de celles fournies par la distribution. L'exemple ci-dessous
-télécharge @file{ed-1.7.tar.g} depuis un mirroir GNU et l'utilise comme
+télécharge @file{ed-1.7.tar.g} depuis un miroir GNU et l'utilise comme
source pour le paquet @code{ed} :
@example
@@ -6728,7 +7937,8 @@ utilisez avec précaution !
Build @var{package} from the latest commit of @var{branch}. The
@code{source} field of @var{package} must be an origin with the
@code{git-fetch} method (@pxref{Référence d'origine}) or a @code{git-checkout}
-object; the repository URL is taken from that @code{source}.
+object; the repository URL is taken from that @code{source}. Git
+sub-modules of the repository are fetched, recursively.
For instance, the following command builds @code{guile-sqlite3} from the
latest commit of its @code{master} branch, and then builds @code{guix}
@@ -6766,9 +7976,10 @@ Les options de la ligne de commande ci-dessous sont spécifiques à
@item --quiet
@itemx -q
-Construire en silence, sans afficher les journaux de construction. À la
-fin, le journal de construction est gardé dans @file{/var} (ou similaire) et
-on peut toujours l'y trouver avec l'option @option{--log-file}.
+Build quietly, without displaying the build log; this is equivalent to
+@code{--verbosity=0}. Upon completion, the build log is kept in @file{/var}
+(or similar) and can always be retrieved using the @option{--log-file}
+option.
@item --file=@var{fichier}
@itemx -f @var{fichier}
@@ -6795,14 +8006,14 @@ utilisée comme un programme de construction passé à @code{gexp->derivation}
(@pxref{G-Expressions}).
Enfin, @var{expr} peut se référer à une procédure monadique à au moins un
-argument (@pxref{La monad du dépôt}). La procédure doit renvoyer une
+argument (@pxref{La monade du dépôt}). La procédure doit renvoyer une
dérivation comme une valeur monadique, qui est ensuite lancée à travers
@code{run-with-store}.
@item --source
@itemx -S
Construit les dérivation source des paquets, plutôt que des paquets
-eux-même.
+eux-mêmes.
Par exemple, @code{guix build -S gcc} renvoie quelque chose comme
@file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, qui est l'archive des sources
@@ -6908,7 +8119,7 @@ installés sont authentiques (@pxref{Substituts}) ou si le résultat de la
construction d'un paquet est déterministe. @xref{Invoquer guix challenge}
pour plus d'informations et pour les outils.
-Lorsqu'utilisé avec @option{--keep-failed}, la sourtie différente est gardée
+Lorsqu'utilisé avec @option{--keep-failed}, la sortie différente est gardée
dans le dépôt sous @file{/gnu/store/@dots{}-check}. Cela rend plus facile
l'étude des différences entre les deux résultats.
@@ -6966,7 +8177,7 @@ construction de GDB sur MIPS, mais que vous n'avez qu'une machine
@example
$ guix build --log-file gdb -s mips64el-linux
-https://hydra.gnu.org/log/@dots{}-gdb-7.10
+https://@value{SUBSTITUTE-SERVER}/log/@dots{}-gdb-7.10
@end example
Vous pouvez accéder librement à un vaste bibliothèque de journaux de
@@ -7060,7 +8271,7 @@ démon.
@cindex @command{guix edit}
@cindex définition de paquets, modification
Tant de paquets, tant de fichiers source ! La commande @command{guix edit}
-facilite la vie des utilisateurs et des packagers en plaçant leur éditeur
+facilite la vie des utilisateurs et des empaqueteurs en plaçant leur éditeur
sur le fichier source qui contient la définition des paquets spécifiés. Par
exemple :
@@ -7070,7 +8281,8 @@ guix edit gcc@@4.9 vim
@noindent
lance le programme spécifié dans la variable d'environnement @code{VISUAL}
-ou @code{EDITOR} pour visionner la recette de GCC@tie{}4.9.3 et cele de Vim.
+ou @code{EDITOR} pour visionner la recette de GCC@tie{}4.9.3 et celle de
+Vim.
Si vous utilisez une copie du dépôt Git de Guix (@pxref{Construire depuis Git}),
ou que vous avez créé vos propres paquets dans @code{GUIX_PACKAGE_PATH}
@@ -7092,7 +8304,7 @@ fichier à l'URL donné, l'ajoute au dépôt et affiche à la fois son nom dans
le dépôt et son hash SHA56.
Le fait que le fichier téléchargé soit ajouté au dépôt préserve la bande
-passante : losque les développeurs finissent par construire le paquet
+passante : lorsque les développeurs finissent par construire le paquet
nouvellement défini avec @command{guix build}, l'archive des sources n'aura
pas besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans
le dépôt. C'est aussi une manière pratique de garder des fichiers
@@ -7245,14 +8457,12 @@ OpenPGP manquantes lors de la vérification de la signature d'un paquet.
@item pypi
@cindex pypi
-Importe des métadonnées depuis @uref{https://pypi.python.org/, l'index des
-paquets Python}@footnote{Cette fonctionnalité requiert l'installation de
-Guile-JSON. @xref{Prérequis}.}. Les informations sont récupérées à
-partir de la description en JSON disponible sur @code{pypi.python.org} et
-inclus généralement toutes les informations utiles, dont les dépendances des
-paquets. Pour une efficacité maximale, il est recommandé d'installer
-l'utilitaire @command{unzip}, pour que l'importateur puisse dézipper les
-wheels Python et récupérer les informations contenues à l'intérieur.
+Import metadata from the @uref{https://pypi.python.org/, Python Package
+Index}. Information is taken from the JSON-formatted description available
+at @code{pypi.python.org} and usually includes all the relevant information,
+including package dependencies. For maximum efficiency, it is recommended
+to install the @command{unzip} utility, so that the importer can unzip
+Python wheels and gather data from them.
La commande ci-dessous importe les métadonnées du paquet Python
@code{itsdangerous} :
@@ -7270,15 +8480,13 @@ expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
@item gem
@cindex gem
-Importe des métadonnées de @uref{https://rubygems.org/,
-RubyGems}@footnote{Cette fonctionnalité requiert l'installation de
-Guile-JSON. @xref{Prérequis}.}. Les informations sont récupérées au
-format JSON disponible sur @code{rubygems.org} et inclut les informations
-les plus utiles, comme les dépendances à l'exécution. Il y a des pièges
-cependant. Les métadonnées ne distinguent pas synopsis et description, donc
-la même chaîne est utilisée pour les deux champs. En plus, les détails des
-dépendances non Ruby requises pour construire des extensions natives sont
-indisponibles et laissé en exercice au packager.
+Import metadata from @uref{https://rubygems.org/, RubyGems}. Information is
+taken from the JSON-formatted description available at @code{rubygems.org}
+and includes most relevant information, including runtime dependencies.
+There are some caveats, however. The metadata doesn't distinguish between
+synopses and descriptions, so the same string is used for both fields.
+Additionally, the details of non-Ruby dependencies required to build native
+extensions is unavailable and left as an exercise to the packager.
La commande ci-dessous importe les métadonnées pour le paquet Ruby
@code{rails} :
@@ -7296,15 +8504,13 @@ expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
@item cpan
@cindex CPAN
-Importe des métadonnées de @uref{https://www.metacpan.org/,
-MetaCPAN}@footnote{Cette fonctionnalité requiert l'installation de
-Guile-JSON. @xref{Prérequis}.}. Les informations sont récupérées au
-format JSON disponible à travers @uref{https://fastapi.metacpan.org/, l'API
-de MetaCPAN} et inclus les informations les plus utiles, comme les
-dépendances des modules. L'information sur les licences doit être vérifiée
-avec attention. Si Perl est disponible dans le dépôt, alors l'utilitaire
-@code{corelist} sera utiliser pour exclure les modules du cœur de la
-distribution Perl de la liste des dépendances.
+Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}.
+Information is taken from the JSON-formatted metadata provided through
+@uref{https://fastapi.metacpan.org/, MetaCPAN's API} and includes most
+relevant information, such as module dependencies. License information
+should be checked closely. If Perl is available in the store, then the
+@code{corelist} utility will be used to filter core modules out of the list
+of dependencies.
La commande ci-dessous importe les métadonnées du module Perl
@code{Acme::Boolean} :
@@ -7381,10 +8587,8 @@ guix import texlive --archive=generic ifxetex
@item json
@cindex JSON, import
-Importe des métadonnées d'un fichier JSON local@footnote{Cette
-fonctionnalité requiert l'installation de Guile-JSON.
-@xref{Prérequis}.}. Considérez l'exemple suivant d'une définition de
-paquet au format JSON :
+Import package metadata from a local JSON file. Consider the following
+example package definition in JSON format:
@example
@{
@@ -7629,6 +8833,23 @@ déterminer si une nouvelle version est disponible en amont. Cependant, le
mécanisme est extensible, alors n'hésitez pas à nous contacter pour ajouter
une nouvelle méthode !
+@table @code
+
+@item --recursive
+Consider the packages specified, and all the packages upon which they
+depend.
+
+@example
+$ guix refresh --recursive coreutils
+gnu/packages/acl.scm:35:2: warning: no updater for acl
+gnu/packages/m4.scm:30:12: info: 1.4.18 is already the latest version of m4
+gnu/packages/xml.scm:68:2: warning: no updater for expat
+gnu/packages/multiprecision.scm:40:12: info: 6.1.2 is already the latest version of gmp
+@dots{}
+@end example
+
+@end table
+
Parfois les noms en amont diffèrent du nom de paquet utilisé par Guix et
@command{guix refresh} a besoin d'un peu d'aide. La plupart des
gestionnaires de mise à jour honorent la propriété @code{upstream-name} dans
@@ -7692,7 +8913,7 @@ Choisi tous les paquets dans @var{subset}, entre @code{core} et
Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de la
distribution — c.-à-d.@: les paquets qui sont utilisés pour construire «
-tout le rest ». Cela comprend GCC, libc, Binutils, Bash, etc.
+tout le reste ». Cela comprend GCC, libc, Binutils, Bash, etc.
Habituellement, changer l'un de ces paquets dans la distribution implique de
reconstruire tous les autres. Ainsi, ces mises à jour sont une nuisance
pour les utilisateurs, en terme de temps de compilation et de bande passante
@@ -7821,6 +9042,22 @@ hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}
La commande ci-dessus liste un ensemble de paquets qui peuvent être
construits pour vérifier la compatibilité d'une mise à jour de @code{flex}.
+@table @code
+
+@item --list-transitive
+List all the packages which one or more packages depend upon.
+
+@example
+$ guix refresh --list-transitive flex
+flex@@2.6.4 depends on the following 25 packages: perl@@5.28.0 help2man@@1.47.6
+bison@@3.0.5 indent@@2.2.10 tar@@1.30 gzip@@1.9 bzip2@@1.0.6 xz@@5.2.4 file@@5.33 @dots{}
+@end example
+
+@end table
+
+The command above lists a set of packages which, when changed, would cause
+@code{flex} to be rebuilt.
+
Les options suivante peuvent être utilisées pour personnaliser les
opérations avec GnuPG :
@@ -7924,11 +9161,19 @@ natives.
@item source
@itemx home-page
@itemx mirror-url
+@itemx github-url
@itemx source-file-name
Probe @code{home-page} and @code{source} URLs and report those that are
-invalid. Suggest a @code{mirror://} URL when applicable. Check that the
-source file name is meaningful, e.g.@: is not just a version number or
-``git-checkout'', without a declared @code{file-name} (@pxref{Référence d'origine}).
+invalid. Suggest a @code{mirror://} URL when applicable. If the
+@code{source} URL redirects to a GitHub URL, recommend usage of the GitHub
+URL. Check that the source file name is meaningful, e.g.@: is not just a
+version number or ``git-checkout'', without a declared @code{file-name}
+(@pxref{Référence d'origine}).
+
+@item source-unstable-tarball
+Parse the @code{source} URL to determine if a tarball from GitHub is
+autogenerated or if it is a release tarball. Unfortunately GitHub's
+autogenerated tarballs are sometimes regenerated.
@item cve
@cindex vulnérabilités
@@ -8044,7 +9289,7 @@ total: 78.9 MiB
@end example
@cindex closure
-Les éléments du dépôt listés ici constituent la @dfn{cloture transitive} de
+Les éléments du dépôt listés ici constituent la @dfn{clôture transitive} de
Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, récursivement —
comme ce qui serait renvoyé par :
@@ -8054,16 +9299,16 @@ $ guix gc -R /gnu/store/@dots{}-coreutils-8.23
Ici, la sortie possède trois colonnes à côté de chaque élément du dépôt. La
première colonne, nommée « total », montre la taille en mébioctet (Mio) de
-la cloture de l'élément du dépôt — c'est-à-dire sa propre taille plus la
+la clôture de l'élément du dépôt — c'est-à-dire sa propre taille plus la
taille de ses dépendances. La colonne suivante, nommée « lui-même », montre
la taille de l'élément lui-même. La dernière colonne montre le ration de la
taille de l'élément lui-même par rapport à celle de tous les éléments
montrés.
-Dans cet exemple, on voit que la cloture de Coreutils pèse 79@tie{}Mio, dont
+Dans cet exemple, on voit que la clôture de Coreutils pèse 79@tie{}Mio, dont
la plupart est dû à la libc et aux bibliothèques à l'exécution de GCC (ce
n'est pas un problème en soit que la libc et les bibliothèques de GCC
-représentent une grande part de la cloture parce qu'elles sont toujours
+représentent une grande part de la clôture parce qu'elles sont toujours
disponibles sur le système de toute façon).
Lorsque les paquets passés à @command{guix size} sont disponibles dans le
@@ -8095,8 +9340,8 @@ total: 102.3 MiB
@end example
@noindent
-Dans cet exemple on voit que la combinaison des quatre paquets prent
-102.3@tie{}Mio en tout, ce qui est bien moins que la somme des clotures
+Dans cet exemple on voit que la combinaison des quatre paquets prend
+102.3@tie{}Mio en tout, ce qui est bien moins que la somme des clôtures
puisqu'ils ont beaucoup de dépendances en commun.
Les options disponibles sont :
@@ -8108,13 +9353,13 @@ Utilise les informations de substituts de @var{urls}.
@xref{client-substitute-urls, the same option for @code{guix build}}.
@item --sort=@var{clef}
-Trie les lignes en fonction de la @var{clef}, l'une des optinos suivantes :
+Trie les lignes en fonction de la @var{clef}, l'une des options suivantes :
@table @code
@item self
la taille de chaque élément (par défaut) ;
@item closure
-la taille totale de la cloture de l'élémente.
+la taille totale de la clôture de l'élément.
@end table
@item --map-file=@var{fichier}
@@ -8329,325 +9574,6 @@ que cette option vous permet de visualiser.
@end table
-@node Invoquer guix environment
-@section Invoquer @command{guix environment}
-
-@cindex environnements de construction reproductibles
-@cindex environnement de développement
-@cindex @command{guix environment}
-@cindex environnement de construction de paquets
-Le but de @command{guix environment} est d'assister les hackers dans la
-création d'environnements de développement reproductibles sans polluer leur
-profil de paquets. L'outil @command{guix environment} prend un ou plusieurs
-paquets, construit leurs entrées et crée un environnement shell pour pouvoir
-les utiliser.
-
-La syntaxe générale est :
-
-@example
-guix environment @var{options} @var{paquet}@dots{}
-@end example
-
-L'exemple suivant crée un nouveau shell préparé pour le développement de
-GNU@tie{}Guile :
-
-@example
-guix environment guile
-@end example
-
-Si les dépendances requises ne sont pas déjà construites, @command{guix
-environment} les construit automatiquement. L'environnement du nouveau
-shell est une version améliorée de l'environnement dans lequel @command{guix
-environment} a été lancé. Il contient les chemins de recherche nécessaires
-à la construction du paquet donné en plus des variables d'environnement
-existantes. Pour créer un environnement « pur », dans lequel les variables
-d'environnement de départ ont été nettoyées, utilisez l'option
-@code{--pure}@footnote{Les utilisateurs ajoutent parfois à tord des valeurs
-supplémentaires dans les variables comme @code{PATH} dans leur
-@file{~/.bashrc}. En conséquence, lorsque @code{guix environment} le lance,
-Bash peut lire @file{~/.bashrc}, ce qui produit des « impuretés » dans ces
-variables d'environnement. C'est une erreur de définir ces variables
-d'environnement dans @file{.bashrc} ; à la place, elles devraient être
-définie dans @file{.bash_profile}, qui est sourcé uniquement par les shells
-de connexion. @xref{Bash Startup Files,,, bash, The GNU Bash Reference
-Manual}, pour des détails sur les fichiers de démarrage de Bash.}.
-
-@vindex GUIX_ENVIRONMENT
-@command{guix environment} définie la variable @code{GUIX_ENVIRONMENT} dans
-le shell qu'il crée ; sa valeur est le nom de fichier du profil de cet
-environnement. Cela permet aux utilisateur, disons, de définir un prompt
-spécifique pour les environnement de développement dans leur @file{.bashrc}
-(@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) :
-
-@example
-if [ -n "$GUIX_ENVIRONMENT" ]
-then
- export PS1="\u@@\h \w [dev]\$ "
-fi
-@end example
-
-@noindent
-...@: or to browse the profile:
-
-@example
-$ ls "$GUIX_ENVIRONMENT/bin"
-@end example
-
-En plus, plus d'un paquet peut être spécifié, auquel cas l'union des entrées
-des paquets données est utilisée. Par exemple, la commande ci-dessous crée
-un shell où toutes les dépendances de Guile et Emacs sont disponibles :
-
-@example
-guix environment guile emacs
-@end example
-
-Parfois, une session shell interactive est inutile. On peut invoquer une
-commande arbitraire en plaçant le jeton @code{--} pour séparer la commande
-du reste des arguments :
-
-@example
-guix environment guile -- make -j4
-@end example
-
-Dans d'autres situations, il est plus pratique de spécifier la liste des
-paquets requis dans l'environnement. Par exemple, la commande suivante
-lance @command{python} dans un environnement contenant Python@tie{}2.7 et
-NumPy :
-
-@example
-guix environment --ad-hoc python2-numpy python-2.7 -- python
-@end example
-
-En plus, on peut vouloir les dépendance d'un paquet et aussi des paquets
-supplémentaires qui ne sont pas des dépendances à l'exécution ou à la
-construction, mais qui sont utiles au développement tout de même. À cause
-de cela, le drapeau @code{--ad-hoc} est positionnel. Les paquets qui
-apparaissent avant @code{--ad-hoc} sont interprétés comme les paquets dont
-les dépendances seront ajoutées à l'environnement. Les paquets qui
-apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
-ajouter à l'environnement directement. Par exemple, la commande suivante
-crée un environnement de développement pour Guix avec les paquets Git et
-strace en plus :
-
-@example
-guix environment guix --ad-hoc git strace
-@end example
-
-Parfois il est souhaitable d'isoler l'environnement le plus possible, pour
-une pureté et une reproductibilité maximale. En particulier, lorsque vous
-utilisez Guix sur une distribution hôte qui n'est pas GuixSD, il est
-souhaitable d'éviter l'accès à @file{/usr/bin} et d'autres ressources du
-système depuis les environnements de développement. Par exemple, la
-commande suivante crée un REPL Guile dans un « conteneur » où seuls le dépôt
-et le répertoire de travail actuel sont montés :
-
-@example
-guix environment --ad-hoc --container guile -- guile
-@end example
-
-@quotation Remarque
-L'option @code{--container} requiert Linux-libre 3.19 ou supérieur.
-@end quotation
-
-Les options disponibles sont résumées ci-dessous.
-
-@table @code
-@item --root=@var{fichier}
-@itemx -r @var{fichier}
-@cindex environnement persistent
-@cindex racine du ramasse-miettes, pour les environnements
-Fait de @var{fichier} un lien symbolique vers le profil de cet
-environnement, et l'enregistre comme une racine du ramasse-miettes.
-
-C'est utile si vous souhaitez protéger votre environnement du
-ramasse-miettes, pour le rendre « persistent ».
-
-Lorsque cette option est omise, l'environnement n'est protégé du
-ramasse-miettes que le temps de la session @command{guix environment}. Cela
-signifie que la prochaine fois que vous créerez le même environnement, vous
-pourriez avoir à reconstruire ou télécharger des paquets. @xref{Invoquer guix gc}, pour plus d'informations sur les racines du GC.
-
-@item --expression=@var{expr}
-@itemx -e @var{expr}
-Crée un environnement pour le paquet ou la liste de paquets en lesquels
-s'évalue @var{expr}.
-
-Par exemple, lancer :
-
-@example
-guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'
-@end example
-
-démarre un shell avec l'environnement pour cette variante spécifique du
-paquet PETSc.
-
-Lancer :
-
-@example
-guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
-@end example
-
-démarre un shell où tous les paquets de base de GuixSD sont disponibles.
-
-Les commande au-dessus n'utilisent que les sorties par défaut des paquets
-donnés. Pour choisir d'autres sorties, on peut spécifier des pairs :
-
-@example
-guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) "include")'
-@end example
-
-@item --load=@var{fichier}
-@itemx -l @var{fichier}
-Crée un environnement pour le paquet ou la liste de paquets en lesquels
-@var{fichier} s'évalue.
-
-Par exemple, @var{fichier} peut contenir une définition comme celle-ci
-(@pxref{Définition des paquets}) :
-
-@example
-@verbatiminclude environment-gdb.scm
-@end example
-
-@item --manifest=@var{fichier}
-@itemx -m @var{fichier}
-Crée un environnement pour les paquets contenus dans l'objet manifeste
-renvoyé par le code Scheme dans @var{fichier}.
-
-C'est similaire à l'option de même nom de @command{guix package}
-(@pxref{profile-manifest, @option{--manifest}}) et utilise les même fichiers
-manifestes.
-
-@item --ad-hoc
-Inclut tous les paquets spécifiés dans l'environnement qui en résulte, comme
-si un paquet @i{ad hoc} était spécifié, avec ces paquets comme entrées.
-Cette option est utile pour créer un environnement rapidement sans avoir à
-écrire une expression de paquet contenant les entrées désirées.
-
-Par exemple la commande :
-
-@example
-guix environment --ad-hoc guile guile-sdl -- guile
-@end example
-
-lance @command{guile} dans un environnement où Guile et Guile-SDDL sont
-disponibles.
-
-Remarquez que cet exemple demande implicitement la sortie par défaut de
-@code{guile} et @code{guile-sdl}, mais il est possible de demander une
-sortie spécifique — p.@: ex.@: @code{glib:bin} demande la sortie @code{bin}
-de @code{glib} (@pxref{Des paquets avec plusieurs résultats}).
-
-Cette option peut être composée avec le comportement par défaut de
-@command{guix environment}. Les paquets qui apparaissent avant
-@code{--ad-hoc} sont interprétés comme les paquets dont les dépendances
-seront ajoutées à l'environnement, le comportement par défaut. Les paquets
-qui apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
-ajouter à l'environnement directement.
-
-@item --pure
-Nettoie les variables d'environnement existantes lors de la construction du
-nouvel environnement. Cela a pour effet de créer un environnement dans
-lequel les chemins de recherche ne contiennent que des entrées de paquets.
-
-@item --search-paths
-Affiche les définitions des variables d'environnement qui composent
-l'environnement.
-
-@item --system=@var{système}
-@itemx -s @var{système}
-Essaye de construire pour @var{système} — p.@: ex.@: @code{i686-linux}.
-
-@item --container
-@itemx -C
-@cindex conteneur
-Lance @var{commande} dans un conteneur isolé. Le répertoire de travail
-actuel en dehors du conteneur est monté dans le conteneur. En plus, à moins
-de le changer avec @code{--user}, un répertoire personnel fictif est créé
-pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwod} est
-configuré en conséquence. Le processus est lancé en tant que l'utilisateur
-actuel en dehors du conteneur, mais a les privilèges root dans le contexte
-du conteneur.
-
-@item --network
-@itemx -N
-Pour les conteneurs, partage l'espace de nom du réseau avec le système
-hôte. Les conteneurs créés sans cette option n'ont accès qu'à l'interface
-de boucle locale.
-
-@item --link-profile
-@itemx -P
-Pour les conteneurs, lie le profil de l'environnement à
-@file{~/.guix-profile} dans le conteneur. C'est équivalent à lance la
-commande @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile} dans le
-conteneur. La liaison échouera et annulera l'environnement si le répertoire
-existe déjà, ce qui sera sans doute le cas si @command{guix environment} est
-invoqué dans le répertoire personnel de l'utilisateur.
-
-Certains paquets sont configurés pour chercher des fichiers de configuration
-et des données dans @code{~/.guix-profile}@footnote{Par exemple, le paquet
-@code{fontconfig} inspecte @file{~/.guix-profile/share/fonts} pour trouver
-des polices supplémentaires.} ; @code{--link-profile} permet à ces
-programmes de se comporter comme attendu dans l'environnement.
-
-@item --user=@var{utilisateur}
-@itemx -u @var{utilisateur}
-Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à la
-place de l'utilisateur actuel. L'entrée générée dans @file{/etc/passwod}
-dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire
-personnel sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera
-copiée. @var{utilisateur} n'a pas besoin d'exister sur le système.
-
-En plus, tous les chemins partagés ou exposés (voir @code{--share} et
-@code{--expose} respectivement) dont la cible est dans le répertoire
-personnel de l'utilisateur seront remontés relativement à
-@file{/home/UTILISATEUR} ; cela comprend le montage automatique du
-répertoire de travail actuel.
-
-@example
-# exposera les chemins comme /home/foo/wd, /home/foo/test et /home/foo/target
-cd $HOME/wd
-guix environment --container --user=foo \
- --expose=$HOME/test \
- --expose=/tmp/target=$HOME/target
-@end example
-
-Bien que cela limite la fuite de l'identité de l'utilisateur à travers le
-chemin du répertoire personnel et des champs de l'utilisateur, ce n'est
-qu'un composant utile pour une solution d'anonymisation ou de préservation
-de la vie privée — pas une solution en elle-même.
-
-@item --expose=@var{source}[=@var{cible}]
-Pour les conteneurs, expose le système de fichiers @var{source} du système
-hôte comme un système de fichiers en lecture seule @var{cible} dans le
-conteneur. Si @var{cible} n'est pas spécifiée, @var{source} est utilisé
-comme point de montage dans le conteneur.
-
-L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
-répertoire personnel de l'utilisateur est accessible en lecture-seule via le
-répertoire @file{/exchange} :
-
-@example
-guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile
-@end example
-
-@item --share=@var{source}[=@var{cible}]
-Pour les conteneurs, partage le système de fichiers @var{soruce} du système
-hôte comme un système de fichiers en lecture-écriture @var{cible} dans le
-conteneur. Si @var{cible} n'est pas spécifiée, @var{source} est utilisée
-comme point de montage dans le conteneur.
-
-L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
-répertoire personnel de l'utilisateur est accessible en lecture-écriture via
-le répertoire @file{/exchange} :
-
-@example
-guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile
-@end example
-@end table
-
-@command{guix environment} supporte aussi toutes les options de construction
-que @command{guix build} supporte (@pxref{Options de construction communes}).
-
@node Invoquer guix publish
@section Invoquer @command{guix publish}
@@ -8657,12 +9583,11 @@ Le but de @command{guix publish} est de vous permettre de partager
facilement votre dépôt avec d'autres personnes qui peuvent ensuite
l'utiliser comme serveur de substituts (@pxref{Substituts}).
-Lorsque @command{guix publish} est lancé, il crée un serveur HTTP qui permet
-à n'importe qui avec un accès réseau d'y récupérer des substituts. Cela
-signifie que toutes les machines qui font tourner Guix peuvent aussi agir
-comme une ferme de construction, puisque l'interface HTTP est compatible
-avec Hydra, le logiciel derrière la ferme de construction
-@code{hydra.gnu.org}.
+When @command{guix publish} runs, it spawns an HTTP server which allows
+anyone with network access to obtain substitutes from it. This means that
+any machine running Guix can also act as if it were a build farm, since the
+HTTP interface is compatible with Hydra, the software behind the
+@code{@value{SUBSTITUTE-SERVER}} build farm.
Pour des raisons de sécurité, chaque substitut est signé, ce qui permet aux
destinataires de vérifier leur authenticité et leur intégrité
@@ -8706,7 +9631,7 @@ fournit un manière pratique de vérifier ce qu'un serveur fournit
En bonus, @command{guix publish} sert aussi un miroir adressé par le contenu
des fichiers source référencées dans les enregistrements @code{origin}
(@pxref{Référence d'origine}). Par exemple, en supposant que @command{guix
-publish} tourne sur @code{example.org}, l'URL suivante renverra le fichie
+publish} tourne sur @code{example.org}, l'URL suivante renverra le fichier
brut @file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le
format @code{nix-base32}, @pxref{Invoquer guix hash}) :
@@ -8730,8 +9655,9 @@ Lorsque @command{guix-daemon} est configuré pour sauvegarder les journaux de
construction compressés, comme c'est le cas par défaut (@pxref{Invoquer guix-daemon}), les URL @code{/log} renvoient le journal compressé tel-quel,
avec un en-tête @code{Content-Type} ou @code{Content-Encoding} approprié.
Nous recommandons de lancer @command{guix-daemon} avec
-@code{--log-compression=gzip} pace que les navigateurs web les décompressent
-automatiquement, ce qui n'est pas le cas avec la compression bzip2.
+@code{--log-compression=gzip} parce que les navigateurs web les
+décompressent automatiquement, ce qui n'est pas le cas avec la compression
+bzip2.
Les options suivantes sont disponibles :
@@ -8776,7 +9702,7 @@ la volée. Cela réduit la bande passante disponible, surtout quand la
compression est activée puisqu'elle pourrait être limitée par le CPU. Un
autre inconvénient au mode par défaut est que la taille des archives n'est
pas connue à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête
-@code{Content-Length} à ses résponses, ce qui empêche les clients de savoir
+@code{Content-Length} à ses réponses, ce qui empêche les clients de savoir
la quantité de données à télécharger.
À l'inverse, lorsque @option{--cache} est utilisée, la première requête pour
@@ -8840,9 +9766,9 @@ Reference Manual}) sur @var{pport} (37146 par défaut). C'est surtout utile
pour déboguer un serveur @command{guix publish} qui tourne.
@end table
-Activer @command{guix publish} sur un système GuixSD est vraiment une seule
-ligne : instantiez simplement un service @code{guix-publish-service-type}
-dans le champs @code{services} de votre déclaration @code{operating-system}
+Enabling @command{guix publish} on Guix System is a one-liner: just
+instantiate a @code{guix-publish-service-type} service in the
+@code{services} field of the @code{operating-system} declaration
(@pxref{guix-publish-service-type, @code{guix-publish-service-type}}).
Si vous avez installé Guix sur une « distro extérieure », suivez ces
@@ -8904,21 +9830,21 @@ donné.
La sortie de la commande ressemble à :
@smallexample
-$ guix challenge --substitute-urls="https://hydra.gnu.org https://guix.example.org"
-mise à jour de la liste des substituts depuis 'https://hydra.gnu.org'... 100.0%
-mise à jour de la liste des substituts depuis 'https://guix.example.org'... 100.0%
-le contenu de /gnu/store/@dots{}-openssl-1.0.2d diffère :
- empreinte locale : 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
- https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d : 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
- https://guix.example.org/nar/@dots{}-openssl-1.0.2d : 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim
-le contenu de /gnu/store/@dots{}-git-2.5.0 diffère :
- empreinte locale : 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha
- https://hydra.gnu.org/nar/@dots{}-git-2.5.0 : 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f
- https://guix.example.org/nar/@dots{}-git-2.5.0 : 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
-le contenu de /gnu/store/@dots{}-pius-2.1.1 diffère :
- empreinte locale : 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
- https://hydra.gnu.org/nar/@dots{}-pius-2.1.1 : 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
- https://guix.example.org/nar/@dots{}-pius-2.1.1 : 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
+$ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER} https://guix.example.org"
+updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER}'... 100.0%
+updating list of substitutes from 'https://guix.example.org'... 100.0%
+/gnu/store/@dots{}-openssl-1.0.2d contents differ:
+ local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
+ https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
+ https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim
+/gnu/store/@dots{}-git-2.5.0 contents differ:
+ local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha
+ https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f
+ https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
+/gnu/store/@dots{}-pius-2.1.1 contents differ:
+ local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
+ https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
+ https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
@dots{}
@@ -8937,34 +9863,32 @@ les éléments du dépôt pour lesquels les serveurs ont obtenu un résultat
différent de la construction locale.
@cindex non-déterminisme, dans les constructions des paquets
-Dans l'exemple, @code{guix.example.org} obtient toujours une réponse
-différente. Inversement, @code{hydra.gnu.org} est d'accord avec les
-constructions locale, sauf dans le cas de Git. Cela peut indiquer que le
-processus de construction de Git est non-déterministe, ce qui signifie que
-sa sortie diffère en fonction de divers choses que Guix ne contrôle pas
-parfaitement, malgré l'isolation des constructions (@pxref{Fonctionnalités}). Les
-sources les plus communes de non-déterminisme comprennent l'ajout
-d'horodatage dans les résultats des constructions, l'inclusion de nombres
-aléatoires et des listes de fichiers ordonnés par numéro d'inœud. Voir
-@uref{https://reproducible-builds.org/docs/}, pour plus d'informations.
+As an example, @code{guix.example.org} always gets a different answer.
+Conversely, @code{@value{SUBSTITUTE-SERVER}} agrees with local builds,
+except in the case of Git. This might indicate that the build process of
+Git is non-deterministic, meaning that its output varies as a function of
+various things that Guix does not fully control, in spite of building
+packages in isolated environments (@pxref{Fonctionnalités}). Most common sources
+of non-determinism include the addition of timestamps in build results, the
+inclusion of random numbers, and directory listings sorted by inode number.
+See @uref{https://reproducible-builds.org/docs/}, for more information.
Pour trouver ce qui ne va pas avec le binaire de Git, on peut faire quelque
chose comme cela (@pxref{Invoquer guix archive}) :
@example
-$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \
+$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \
| guix archive -x /tmp/git
$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git
@end example
-Cette commande montre les différences entre les fichiers qui résultent de la
-construction locale et des fichiers qui résultent de la construction sur
-@code{hydra.gnu.org} (@pxref{Overview, Comparing and Merging Files,,
-diffutils, Comparing and Merging Files}). La commande @command{diff}
-fonctionne bien avec des fichiers texte. Lorsque des fichiers binaires
-diffèrent cependant, @uref{https://diffoscope.org/, Diffoscope} est une
-meilleure option. C'est un outil qui aide à visualiser les différences
-entre toute sorte de fichiers.
+This command shows the difference between the files resulting from the local
+build, and the files resulting from the build on
+@code{@value{SUBSTITUTE-SERVER}} (@pxref{Overview, Comparing and Merging
+Files,, diffutils, Comparing and Merging Files}). The @command{diff}
+command works great for text files. When binary files differ, a better
+option is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps
+visualize differences for all kinds of files.
Une fois que vous avez fait ce travail, vous pourrez dire si les différences
sont dues au non-déterminisme du processus de construction ou à la
@@ -8975,9 +9899,9 @@ n'implique pas que Guix, mais une grande partie de la communauté des
logiciels libres. Pendant ce temps, @command{guix challenge} est un outil
pour aider à corriger le problème.
-Si vous écrivez un paquet pour Guix, nous vous encourageons à vérifier si
-@code{hydra.gnu.org} et d'autres serveurs de substituts obtiennent le même
-résultat que vous avec :
+If you are writing packages for Guix, you are encouraged to check whether
+@code{@value{SUBSTITUTE-SERVER}} and other substitute servers obtain the
+same build result as you did with:
@example
$ guix challenge @var{paquet}
@@ -9116,11 +10040,11 @@ guix container exec @var{pid} @var{programme} @var{arguments}@dots{}
@var{pid} spécifie le PID du conteneur lancé. @var{programme} spécifie le
nom du fichier exécutable dans le système de fichiers racine du conteneur.
-@var{arguments} sont les options supplémentairesà passer à @var{programme}.
+@var{arguments} sont les options supplémentaires à passer à @var{programme}.
-La commande suivante lance un shell de connexion interactif dans un
-conteneur GuixSD, démarré par @command{guix system container} et dont le PID
-est 9001 :
+The following command launches an interactive login shell inside a Guix
+system container, started by @command{guix system container}, and whose
+process ID is 9001:
@example
guix container exec 9001 /run/current-system/profile/bin/bash --login
@@ -9145,7 +10069,7 @@ tourner @command{guix publish} (@pxref{Invoquer guix publish}).
@cindex statistiques sur les substituts
@cindex disponibilité des substituts
-@cindex substuts, disponibilité
+@cindex substituts, disponibilité
@cindex weather, disponibilité des substituts
Voici un exemple :
@@ -9173,14 +10097,16 @@ https://guix.example.org
@end example
@cindex intégration continue, statistiques
-Comme vous pouvez le voir, elle rapporte le pourcentage des paquets pour
-lesquels des substituts sont disponibles sur le serveur — indépendamment du
-fait que les substituts soient activés, et indépendamment du fait que la
-clef de signature du serveur soit autorisée. Elle rapporte aussi la taille
-des archives compressées fournies par le serveur, la taille des éléments du
-dépôt correspondant dans le dépôt (en supposant que la déduplication soit
-désactivée) et la vitesse du serveur. La deuxième partie donne des
-statistiques sur l'intégration continue (CI), si le serveur le supporte.
+As you can see, it reports the fraction of all the packages for which
+substitutes are available on the server---regardless of whether substitutes
+are enabled, and regardless of whether this server's signing key is
+authorized. It also reports the size of the compressed archives (``nars'')
+provided by the server, the size the corresponding store items occupy in the
+store (assuming deduplication is turned off), and the server's throughput.
+The second part gives continuous integration (CI) statistics, if the server
+supports it. In addition, using the @option{--coverage} option,
+@command{guix weather} can list ``important'' package substitutes missing on
+the server (see below).
Pour cela, @command{guix weather} récupère par HTTP(S) les métadonnées
(@dfn{narinfos}@ de tous les éléments du dépôts pertinents. Comme
@@ -9210,6 +10136,38 @@ Plutôt que de demander des substituts pour tous les paquets, demande
uniquement les paquets spécifiés dans @var{fichier}. @var{fichier} doit
contenir un @dfn{manifeste} comme avec l'option @code{-m} de @command{guix
package} (@pxref{Invoquer guix package}).
+
+@item --coverage[=@var{count}]
+@itemx -c [@var{count}]
+Report on substitute coverage for packages: list packages with at least
+@var{count} dependents (zero by default) for which substitutes are
+unavailable. Dependent packages themselves are not listed: if @var{b}
+depends on @var{a} and @var{a} has no substitutes, only @var{a} is listed,
+even though @var{b} usually lacks substitutes as well. The result looks
+like this:
+
+@example
+$ guix weather --substitute-urls=https://ci.guix.fr.info -c 10
+computing 8,983 package derivations for x86_64-linux...
+looking for 9,343 store items on https://ci.guix.fr.info...
+updating substitutes from 'https://ci.guix.fr.info'... 100.0%
+https://ci.guix.fr.info
+ 64.7% substitutes available (6,047 out of 9,343)
+@dots{}
+2502 packages are missing from 'https://ci.guix.fr.info' for 'x86_64-linux', among which:
+ 58 kcoreaddons@@5.49.0 /gnu/store/@dots{}-kcoreaddons-5.49.0
+ 46 qgpgme@@1.11.1 /gnu/store/@dots{}-qgpgme-1.11.1
+ 37 perl-http-cookiejar@@0.008 /gnu/store/@dots{}-perl-http-cookiejar-0.008
+ @dots{}
+@end example
+
+What this example shows is that @code{kcoreaddons} and presumably the 58
+packages that depend on it have no substitutes at @code{ci.guix.fr.info};
+likewise for @code{qgpgme} and the 46 packages that depend on it.
+
+If you are a Guix developer, or if you are taking care of this build farm,
+you'll probably want to have a closer look at these packages: they may
+simply fail to build.
@end table
@node Invoquer guix processes
@@ -9270,756 +10228,9 @@ ClientPID: 19419
ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
@end example
-@c *********************************************************************
-@node Distribution GNU
-@chapter Distribution GNU
-
-@cindex Distribution Système Guix
-@cindex GuixSD
-Guix fournit aussi une distribution du système GNU contenant uniquement des
-logiciels libres@footnote{Le terme « libre » se réfère ici bien sûr à
-@url{http://www.gnu.org/philosophy/free-sw.fr.html,la liberté offerte à
-l'utilisateur de ces logiciels}.}. On peut installer la distribution
-elle-même (@pxref{Installation du système}), mais on peut aussi installer Guix
-comme gestionnaire de paquets par dessus un système GNU/Linux déjà installé
-(@pxref{Installation}). Pour distinguer ces deux cas, on appelle la
-distribution autonome « Distribution Système Guix » ou GuixSD.
-
-la distribution fournit les paquets cœur de GNU comme la GNU libc, GCC et
-Binutils, ainsi que de nombreuses applications GNU et non-GNU. La liste
-complète des paquets disponibles se trouve
-@url{http://www.gnu.org/software/guix/packages,en ligne} ou en lançant
-@command{guix package} (@pxref{Invoquer guix package}) :
-
-@example
-guix package --list-available
-@end example
-
-Notre but est de fournir une distribution logicielle entièrement libre de
-GNU/Linux et d'autres variantes de GNU, en se concentrant sur la promotion
-et l'intégration étroite des composants GNU en insistant sur les programmes
-et les outils qui aident l'utilisateur à exercer ses libertés.
-
-Les paquets sont actuellement disponibles pour les plateformes suivantes :
-
-@table @code
-
-@item x86_64-linux
-l'architecture Intel et AMD @code{x86_64} avec le noyau Linux-libre ;
-
-@item i686-linux
-l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ;
-
-@item armhf-linux
-l'architecture ARMv7-A avec gestion des flottants matérielle, Thumb-2 et
-NEON, avec l'interface binaire applicative (ABI) EABI hard-float et le noyau
-Linux-libre ;
-
-@item aarch64-linux
-les processeurs ARMv8-A 64-bits en little-endian avec le noyau Linux-libre.
-Le support est actuellement expérimental et limité. @xref{Contribuer},
-pour savoir comment aider !
-
-@item mips64el-linux
-les processeurs MIPS 64-bits little-endian, spécifiquement la série
-Loongson, ABI n32, avec le noyau Linux-libre.
-
-@end table
-
-GuixSD lui-même est actuellement disponible sur @code{i686} et
-@code{x86_64}.
-
-@noindent
-Pour des informations sur comment porter vers d'autres architectures et
-d'autres noyau, @pxref{Porter}.
-
-@menu
-* Installation du système:: Installer le système d'exploitation complet.
-* Configuration système:: Configurer le système d'exploitation.
-* Documentation:: Visualiser les manuels d'utilisateur des
- logiciels.
-* Installer les fichiers de débogage:: Nourrir le débogueur.
-* Mises à jour de sécurité:: Déployer des correctifs de sécurité
- rapidement.
-* Modules de paquets:: Les paquets du point de vu du programmeur.
-* Consignes d'empaquetage:: Faire grandir la distribution.
-* Bootstrapping:: GNU/Linux depuis zéro.
-* Porter:: Cibler une autre plateforme ou un autre noyau.
-@end menu
-
-La construction de cette distribution est un effort collaboratif et nous
-vous invitons à nous rejoindre ! @xref{Contribuer}, pour des informations
-sur la manière de nous aider.
-
-@node Installation du système
-@section Installation du système
-
-@cindex installer GuixSD
-@cindex Distribution Système Guix
-Cette section explique comment installer la distribution système Guix
-(GuixSD) sur votre machine. Le gestionnaire de paquets Guix peut aussi être
-installé sur un système GNU/Linux déjà installé, @pxref{Installation}.
-
-@ifinfo
-@quotation Remarque
-@c This paragraph is for people reading this from tty2 of the
-@c installation image.
-Vous lisez cette documentation avec un lecteur Info. Pour des détails sur
-son utilisation, appuyez sur la touche @key{ENTRÉE} (« Entrée » ou « à la
-ligne ») sur le lien suivant : @pxref{Top, Info reader,, info-stnd,
-Stand-alone GNU Info}. Appuyez ensuite sur @kbd{l} pour revenir ici.
-
-Autrement, lancez @command{info info} dans un autre tty pour garder ce
-manuel ouvert.
-@end quotation
-@end ifinfo
-
-@menu
-* Limitations:: Ce à quoi vous attendre.
-* Considérations matérielles:: Matériel supporté.
-* Installation depuis une clef USB ou un DVD:: Préparer le média
- d'installation.
-* Préparer l'installation:: Réseau, partitionnement, etc.
-* Effectuer l'installation:: Pour de vrai.
-* Installer GuixSD dans une VM:: Jouer avec GuixSD@.
-* Construire l'image d'installation:: D'où vient tout cela.
-@end menu
-
-@node Limitations
-@subsection Limitations
-
-À la version @value{VERSION}, la distribution système Guix (GuixSD) n'est
-pas prête pour la production. Elle peut contenir des bogues et ne pas avoir
-certaines fonctionnalités importantes. Ainsi, si vous cherche un système de
-production stable qui respecte votre liberté en tant qu'utilisateur, une
-bonne solution consiste à utiliser
-@url{http://www.gnu.org/distros/free-distros.html, une des distributions
-GNU/Linux mieux établie}. Nous espérons que vous pourrez bientôt passer à
-GuixSD sans peur, bien sûr. Pendant ce temps, vous pouvez aussi utiliser
-votre distribution actuelle et essayer le gestionnaire de paquet par dessus
-celle-ci (@pxref{Installation}).
-
-Avant de procéder à l'installation, soyez conscient de ces limitations les
-plus importantes qui s'appliquent à la version @value{VERSION} :
-
-@itemize
-@item
-Le procédé d'installation n'a pas d'interface utilisateur graphique et
-requiert une certaine familiarité avec GNU/Linux (voir les sous-sections
-suivantes pour avoir un aperçu de ce que cela signifie).
-
-@item
-LVM (gestionnaire de volumes logiques) n'est pas supporté.
-
-@item
-De plus en plus de services systèmes sont fournis (@pxref{Services}) mais
-certains manquent toujours cruellement.
-
-@item
-Plus de 7@tie{}500 paquets sont disponibles, mais vous pourrez parfois
-trouver qu'un paquet utile est absent.
-
-@item
-GNOME, Xfce, LXDE et Enlightenment sont disponibles (@pxref{Services de bureaux}), ainsi qu'un certain nombre de gestionnaires de fenêtres X11.
-cependant, certaines applications graphiques peuvent manquer, ainsi que KDE.
-@end itemize
-
-Vous êtes avertis ! Mais plus qu'un avertissement, c'est une invitation à
-rapporter les problèmes (et vos succès !) et à nous rejoindre pour améliorer
-la distribution. @xref{Contribuer}, pour plus d'info.
-
-
-@node Considérations matérielles
-@subsection Considérations matérielles
-
-@cindex support matériel sur GuixSD
-GNU@tie{}GuixSD se concentre sur le respect des libertés de ses
-utilisateurs. Il est construit autour du noyau Linux-libre, ce qui signifie
-que seuls les matériels pour lesquels des pilotes logiciels et des
-microgiciels libres sont disponibles sont supportés. De nos jours, une
-grande gamme de matériel qu'on peut acheter est supporté par GNU/Linux-libre
-— des claviers aux cartes graphiques en passant par les scanners et les
-contrôleurs Ethernet. Malheureusement, il reste des produit dont les
-fabriquants refusent de laisser le contrôle aux utilisateurs sur leur propre
-utilisation de l'ordinateur, et ces matériels ne sont pas supportés par
-GuixSD.
-
-@cindex WiFi, support matériel
-L'un des types de matériels où les pilotes ou les microgiciels sont le moins
-disponibles sont les appareils WiFi. Les appareils WiFi connus pour
-fonctionner sont ceux qui utilisent des puces Atheros (AR9271 et AR7010) qui
-correspondent au pilote @code{ath9k} de Linux-libre, et ceux qui utilisent
-des puces Broadcom/AirForce (BCM43xx avec la révision Wireless-Core 5), qui
-correspondent au pilote @code{b43-open} de Linux-libre. Des microgiciels
-libres existent pour les deux et sont disponibles directement sur GuixSD,
-dans @var{%base-firmware} (@pxref{Référence de système d'exploitation,
-@code{firmware}}).
-
-@cindex RYF, Respects Your Freedom
-La @uref{https://www.fsf.org/, Free Software Foundation} a un programme de
-certification nommé @uref{https://www.fsf.org/ryf, @dfn{Respects Your
-Freedom}} (RYF), pour les produits matériels qui respectent votre liberté et
-votre vie privée en s'assurant que vous avez le contrôle sur l'appareil.
-Nous vous encourageons à vérifier la liste des appareils certifiés par RYF.
-
-Une autre ressource utile est le site web @uref{https://www.h-node.org/,
-H-Node}. Il contient un catalogue d'appareils avec des informations sur
-leur support dans GNU/Linux.
-
-
-@node Installation depuis une clef USB ou un DVD
-@subsection Installation depuis une clef USB ou un DVD
-
-Une image d'installation ISO-9660 téléchargeable depuis
-@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{système}.iso.xz}
-peut être écrite sur une clef USB ou gravée sur un DVD, où @var{système} est
-l'une de ces valeurs :
-
-@table @code
-@item x86_64-linux
-pour un système GNU/Linux sur un CPU compatible Intel/AMD 64-bits ;
-
-@item i686-linux
-pour un système GNU/Linux sur un CPU compatible Intel 32-bits ;
-@end table
-
-@c start duplication of authentication part from ``Binary Installation''
-Assurez-vous de télécharger les fichiers @file{.sig} associés et de vérifier
-l'authenticité de l'image avec, de cette manière :
-
-@example
-$ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
-$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
-@end example
-
-Si cette commande échoue parce que vous n'avez pas la clef publique requise,
-lancez cette commande pour l'importer :
-
-@example
-$ gpg --keyserver @value{KEY-SERVER} \
- --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
-@end example
-
-@noindent
-@c end duplication
-et relancez la commande @code{gpg --verify}.
-
-Cette image contient les outils nécessaires à l'installation. Elle est
-faite pour être copiée @emph{telle quelle} sur une clef USB assez grosse ou
-un DVD.
-
-@unnumberedsubsubsec Copie sur une clef USB
-
-Pour copier l'image sur une clef USB, suivez ces étapes :
-
-@enumerate
-@item
-Décompressez l'image avec la commande @command{xz} :
-
-@example
-xz -d guixsd-install-@value{VERSION}.@var{système}.iso.xz
-@end example
-
-@item
-Insérez la clef USB de 1@tie{}Gio ou plus dans votre machine et déterminez
-son nom d'appareil. En supposant que la clef usb est connue sous le nom de
-@file{/dev/sdX}, copiez l'image avec :
-
-@example
-dd if=guixsd-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX
-sync
-@end example
-
-Accéder à @file{/dev/sdX} requiert généralement les privilèges
-super-utilisateur.
-@end enumerate
-
-@unnumberedsubsubsec Graver sur un DVD
-
-Pour copier l'image sur un DVD, suivez ces étapes :
-
-@enumerate
-@item
-Décompressez l'image avec la commande @command{xz} :
-
-@example
-xz -d guixsd-install-@value{VERSION}.@var{système}.iso.xz
-@end example
-
-@item
-Insérez un DVD vierge dans votre machine et déterminez son nom d'appareil.
-En supposant que le DVD soit connu sont le nom de @file{/dev/srX}, copiez
-l'image avec :
-
-@example
-growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64.iso
-@end example
-
-Accéder à @file{/dev/srX} requiert généralement les privilèges
-super-utilisateur.
-@end enumerate
-
-@unnumberedsubsubsec Démarrage
-
-Une fois que c'est fait, vous devriez pouvoir redémarrer le système et
-démarrer depuis la clef USB ou le DVD. Pour cela, vous devrez généralement
-entrer dans le menu de démarrage BIOS ou UEFI, où vous pourrez choisir de
-démarrer sur la clef USB.
-
-@xref{Installer GuixSD dans une VM}, si, à la place, vous souhaitez installer
-GuixSD dans une machine virtuelle (VM).
-
-
-@node Préparer l'installation
-@subsection Préparer l'installation
-
-Une fois que vous avez démarré votre ordinateur sur le média d'installation,
-vous devriez vous retrouver sur un prompt en root. Plusieurs TTY sont
-configurées et peuvent être utilisés pour lancer des commandes en root. Le
-TTY2 affiche cette documentation, dans la quelle vous pouvez naviguer avec
-les commandes du lecteur Info (@pxref{Top,,, info-stnd, Stand-alone GNU
-Info}). Le démon de souris GPM tourne sur le système d'installation, ce qui
-vous permet de sélectionner du texte avec le bouton gauche de la souris et
-de le coller en appuyant sur la molette.
-
-@quotation Remarque
-L'installation nécessite un accès au réseau pour que les dépendances
-manquantes de votre configuration système puissent être téléchargées. Voyez
-la section « réseau » plus bas.
-@end quotation
-
-Le système d'installation inclus plusieurs outils usuels pour requis pour
-cette tâche. Mais c'est aussi un système GuixSD complet, ce qui signifie
-que vous pouvez installer des paquets supplémentaires si vous en avez
-besoin, avec @command{guix package} (@pxref{Invoquer guix package}).
-
-@subsubsection Disposition du clavier
-
-@cindex disposition du clavier
-L'image d'installation utilise la disposition clavier qwerty (US). Si vous
-voulez la changer, vous pouvez utiliser la commande @command{loadkeys}. Par
-exemple, la commande suivante sélectionne la disposition Dvorak :
-
-@example
-loadkeys dvorak
-@end example
-
-Consultez les fichiers dans @file{/run/current-system/profile/share/keymaps}
-pour trouver une liste des dispositions disponibles. Lancez @command{man
-loadkey} pour plus d'informations.
-
-@subsubsection Réseau
-
-Lancez la commande suivante pour voir comment vos interfaces réseau sont
-appelées :
-
-@example
-ifconfig -a
-@end example
-
-@noindent
-@dots{} ou, avec la commande spécifique à GNU/Linux @command{ip} :
-
-@example
-ip a
-@end example
-
-@c http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20
-Les interfaces filaires ont un nom qui commence par @samp{e} ; par exemple,
-l'interface qui correspond au premier contrôleur Ethernet sur la carte mère
-est appelé @samp{eno1}. Les interfaces sans-fil ont un nom qui commence par
-@samp{w}, comme @samp{w1p2s0}.
-
-@table @asis
-@item Connexion filaire
-Pour configure une connexion filaire, lancez la commande suivante, en
-remplaçant @var{interface} par le nom de l'interface filaire que vous voulez
-utiliser.
-
-@example
-ifconfig @var{interface} up
-@end example
-
-@item Connexion sans-fil
-@cindex sans-fil
-@cindex WiFi
-Pour configurer le réseau sans-fil, vous pouvez créer un fichier de
-configuration pour l'outil de configuration @command{wpa_supplicant} (son
-emplacement importe peu) avec l'un des éditeurs de texte disponibles comme
-@command{nano} :
-
-@example
-nano wpa_supplicant.conf
-@end example
-
-Par exemple, la déclaration qui suit peut aller dans ce fichier et
-fonctionnera pour plusieurs réseaux sans-fil, si vous donnez le vrai SSID et
-la phrase de passe pour le réseau auquel vous vous connectez :
-
-@example
-network=@{
- ssid="@var{mon-ssid}"
- key_mgmt=WPA-PSK
- psk="la phrase de passe secrète du réseau"
-@}
-@end example
-
-Démarrez le service sans-file et lancez-le en tache de fond avec la commande
-suivante (en remplaçant @var{interface} par le nom de l'interface réseau que
-vous voulez utiliser) :
-
-@example
-wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B
-@end example
-
-Lancez @command{man wpa_supplicant} pour plus d'informations.
-@end table
-
-@cindex DHCP
-À partir de ce moment, vous avez besoin d'une adresse IP. Sur les réseaux
-où les IP sont automatiquement attribuée par DHCP, vous pouvez lancer :
-
-@example
-dhclient -v @var{interface}
-@end example
-
-Essayez de pinger un serveur pour voir si le réseau fonctionne :
-
-@example
-ping -c 3 gnu.org
-@end example
-
-Mettre en place un accès réseau est presque toujours une nécessité parce que
-l'image ne contient pas tous les logiciels et les outils dont vous pourriez
-avoir besoin.
-
-@cindex installer par SSH
-Si vous le souhaitez, vous pouvez continuer l'installation à distance en
-démarrant un serveur SSH :
-
-@example
-herd start ssh-daemon
-@end example
-
-Assurez-vous soit de définir un mot de passe avec @command{passwd}, soit de
-configurer l'authentification par clef OpenSSH avant de vous connecter.
-
-@subsubsection Partitionnement
-
-À moins que vous ne l'ayez déjà fait, l'étape suivante consiste à
-partitionner le disque puis à formater les partitions cibles.
-
-L'image d'installation inclus plusieurs outils de partitionnement, dont
-Parted (@pxref{Overview,,, parted, GNU Parted User Manual}),
-@command{fdisk}, et @command{cfdisk}. Lancez-en un et paramétrez votre
-disque avec le partitionnement qui vous convient :
-
-@example
-cfdisk
-@end example
-
-Si votre disque utilise le format des tables de partitions GUID (GPT) et que
-vous souhaitez installer un GRUB pour système BIOS (c'est le cas par
-défaut), assurez-vous de créer qu'une partition de démarrage BIOS soit bien
-disponible (@pxref{BIOS installation,,, grub, GNU GRUB manual}).
-
-@cindex EFI, installation
-@cindex UEFI, installation
-@cindex ESP, partition système EFI
-Si vous souhaitez à la place utilise GRUB pour système EFI, vous devrez
-avoir une @dfn{partition système EFI} (ESP) en FAT32. Cette partition
-devrait être montée dans @file{/boot/efi} et doit avoir le drapeau
-@code{esp}. P.@: ex.@: pour @command{parted} :
-
-@example
-parted /dev/sda set 1 esp on
-@end example
-
-@quotation Remarque
-@vindex grub-bootloader
-@vindex grub-efi-bootloader
-Vous n'êtes pas sûr de savoir si vous devez utiliser un GRUB EFI ou BIOS ?
-Si le répertoire @file{/sys/firmware/efi} existe sur l'image d'installation,
-vous devriez probablement effectuer une installation EFI, avec
-@code{grub-efi-bootloader}. Sinon, vous devriez utiliser le GRUB en BIOS,
-@code{grub-bootloader}. @xref{Configuration du chargeur d'amorçage} pour plus
-d'information sur le chargeur d'amorçage.
-@end quotation
-
-Une fois que vous avez fini le partitionnement du disque dur cible, vous
-devez créer un système de fichier sur les partitions@footnote{Actuellement
-GuixSD ne supporte que les systèmes de fichiers ext4 et btrfs. En
-particulier, le code qui lit les UUID des systèmes de fichiers et les
-étiquettes ne fonctionne que pour ces types de systèmes de fichiers.}. Pour
-l'ESP, si vous en avez une et en supposant que ce soit @file{/dev/sda1},
-lancez :
-
-@example
-mkfs.fat -F32 /dev/sda1
-@end example
-
-Préférez assigner une étiquette au système de fichier pour que vous puissiez
-vous y référer de manière fiable dans la déclaration @code{file-system}
-(@pxref{Systèmes de fichiers}). On le fait habituellement avec l'option @code{-L}
-de @command{mkfs.ext4} et des commandes liées. Donc, en supposant que la
-partition racine soit sur @file{/dev/sda2}, on peut créer un système de
-fichier avec pour étiquette @code{my-root} avec :
-
-@example
-mkfs.ext4 -L my-root /dev/sda2
-@end example
-
-@cindex chiffrement du disque
-Si vous voulez plutôt chiffrer la partition racine, vous pouvez utiliser les
-utilitaires Cryptsetup et LUKS pour cela (voir @inlinefmtifelse{html,
-@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
-@code{man cryptsetup}} pour plus d'informations). En supposant que vous
-voulez stocker la partition racine sur @file{/dev/sda2}, la séquence de
-commandes suivante vous mènerait à ce résultat :
-
-@example
-cryptsetup luksFormat /dev/sda2
-cryptsetup open --type luks /dev/sda2 my-partition
-mkfs.ext4 -L my-root /dev/mapper/my-partition
-@end example
-
-Une fois cela effectué, montez le système de fichier cible dans @file{/mnt}
-avec une commande comme (de nouveau, en supposant que @code{my-root} est
-l'étiquette du système de fichiers racine) :
-
-@example
-mount LABEL=my-root /mnt
-@end example
-
-Montez aussi tous les systèmes de fichiers que vous voudriez utiliser sur le
-système cible relativement à ce chemin. Si vous avez un @file{/boot} sur
-une partition séparé par exemple, montez-le sur @file{/mnt/boot} maintenant
-pour qu'il puisse être trouvé par @code{guix system init} ensuite.
-
-Enfin, si vous souhaitez utiliser une ou plusieurs partitions de swap
-(@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference
-Manual}), assurez-vous de les initialiser avec @command{mkswap}. En
-supposant que vous avez une partition de swap sur @file{/dev/sda3}, vous
-pouvez lancer :
-
-@example
-mkswap /dev/sda3
-swapon /dev/sda3
-@end example
-
-Autrement, vous pouvez utiliser un fichier de swap. Par exemple, en
-supposant que dans le nouveau système vous voulez utiliser le fichier
-@file{/swapfile} comme fichier de swap, vous lanceriez@footnote{Cet exemple
-fonctionnera sur plusieurs types de systèmes de fichiers (p.@: ex.@: ext4).
-Cependant, pour les systèmes de fichiers qui utilisent la copie sur écriture
-(COW) comme btrfs, les étapes requises peuvent varier. Pour plus de
-détails, regardez les pages de manuel de @command{mkswap} et
-@command{swapon}.} :
-
-@example
-# Cela représente 10 Gio d'espace d'échange. Ajustez « count » pour changer la taille.
-dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240
-# Par sécurité, laissez le fichier en lecture et en écriture uniquement pour root.
-chmod 600 /mnt/swapfile
-mkswap /mnt/swapfile
-swapon /mnt/swapfile
-@end example
-
-Remarquez que si vous avez chiffré la partition racine et créé un fichier
-d'échange dans son système de fichier comme décrit ci-dessus, alors le
-chiffrement protégera aussi le fichier d'échange, comme n'importe quel
-fichier de ce système de fichiers.
-
-@node Effectuer l'installation
-@subsection Effectuer l'installation
-
-Lorsque la partition cible est prête et que les autres partitions sont
-montées, on est prêt à commencer l'installation. Commencez par :
-
-@example
-herd start cow-store /mnt
-@end example
-
-Cela rend @file{/gnu/store} capable de faire de la copie sur écriture, de
-sorte que les paquets ajoutés pendant l'installation sont écrits sur le
-disque cible sur @file{/mnt} plutôt que gardés en mémoire. Cela est
-nécessaire parce que la première phase de la commande @command{guix system
-init} (voir plus bas) implique de télécharger ou de construire des éléments
-de @file{/gnu/store} qui est initialement un système de fichiers en mémoire.
-
-Ensuite, vous devrez modifier un fichier et fournir la déclaration du
-système à installer. Pour cela, le système d'installation propose trois
-éditeurs de texte. Nous recommandons GNU nano (@pxref{Top,,, nano, GNU nano
-Manual}), qui supporte la coloration syntaxique la correspondance de
-parenthèses ; les autres éditeurs sont GNU Zile (un clone d'Emacs) et nvi
-(un clone de l'éditeur @command{vi} original de BSD). Nous recommandons
-vivement de stocker ce fichier sur le système de fichier racine cible,
-disons en tant que @file{/mnt/etc/config.scm}. Sinon, vous perdrez votre
-fichier de configuration une fois que vous aurez redémarré sur votre nouveau
-système.
-
-@xref{Utiliser le système de configuration}, pour un aperçu de comment créer votre
-fichier de configuration. Les exemples de configuration dont on parle dans
-cette section sont disponibles dans @file{/etc/configuration} sur l'image
-d'installation. Ainsi, pour commencer avec une configuration du système qui
-fournit un serveur d'affichage graphique (un système de « bureau »), vous
-pouvez lancer ce qui suit :
-
-@example
-# mkdir /mnt/etc
-# cp /etc/configuration/desktop.scm /mnt/etc/config.scm
-# nano /mnt/etc/config.scm
-@end example
-
-Vous devriez faire attention à ce que contient votre fichier de
-configuration, en particulier :
-
-@itemize
-@item
-Assurez-vous que la forme @code{bootloader-configuration} se réfère à la
-cible où vous voulez installer GRUB. Elle devrait aussi mentionner
-@code{grub-bootloader} si vous installer GRUB en mode BIOS (ou « legacy »)
-ou @code{grub-efi-bootloader} pour les système UEFI plus récents. Pour les
-anciens systèmes, le champs @code{target} contient un périphérique comme
-@code{/dev/sda} ; pour les systèmes UEFI il contient un chemin vers une
-partition EFI montée, comme @code{/boot/efi}, et assurez-vous que ce chemin
-est bien monté.
-
-@item
-Assurez-vous que les étiquettes de vos systèmes de fichiers correspondent
-aux valeurs de leur champs @code{device} dans votre configuration
-@code{file-system}, en supposant que la configuration @code{file-system}
-utilise la procédure @code{file-system-label} dans son champ @code{device}.
-
-@item
-Si vous avez des partitions RAID ou chiffrées, assurez-vous d'ajouter un
-champ @code{mapped-device} pour les décrire (@pxref{Périphériques mappés}).
-@end itemize
-
-Une fois que vous avez fini les préparatifs sur le fichier de configuration,
-le nouveau système peut être initialisé (rappelez-vous que le système de
-fichiers racine cible est dans @file{/mnt}) :
-
-@example
-guix system init /mnt/etc/config.scm /mnt
-@end example
-
-@noindent
-Cela copie tous les fichiers nécessaires et installe GRUB sur
-@file{/dev/sdX} à moins que vous ne passiez l'option
-@option{--no-bootloader}. Pour plus d'informations, @pxref{Invoquer guix system}. Cette commande peut engendrer des téléchargements ou des
-constructions pour les paquets manquants, ce qui peut prendre du temps.
-
-Une fois que cette commande a terminée — et on l'espère réussi ! — vous
-pouvez lancer @command{reboot} et démarrer sur votre nouveau système. Le
-mot de passe @code{root} est d'abord vide ; les mots de passe des autres
-utilisateurs doivent être initialisés avec la commande @command{passwd} en
-tant que @code{root}, à mois que votre configuration ne spécifie autre chose
-(@pxref{user-account-password, mot de passe des comptes utilisateurs}).
-
-@cindex mettre à jour GuixSD
-À partir de maintenant, vous pouvez mettre à jour GuixSD lorsque vous le
-souhaitez en lançant @command{guix pull} en tant que @code{root}
-(@pxref{Invoquer guix pull}), puis en lançant @command{guix system
-reconfigure} pour construire une nouvelle génération du système avec les
-derniers paquets et les derniers services (@pxref{Invoquer guix system}).
-Nous vous recommandons de le faire régulièrement pour que votre système
-inclus les dernières mises à jour de sécurité (@pxref{Mises à jour de sécurité}).
-
-Rejoignez-nous sur @code{#guix} sur le réseau IRC Freenode ou sur
-@file{guix-devel@@gnu.org} pour partager votre expérience — bonne ou
-mauvaise.
-
-@node Installer GuixSD dans une VM
-@subsection Installer GuixSD sur une machine virtuelle
-
-@cindex machine virtuelle, installation de GuixSD
-@cindex serveur privé virtuel (VPS)
-@cindex VPS (serveur privé virtuel)
-Si vous souhaitez installer GuixSD sur une machine virtuelle (VM) ou un
-serveur privé virtuel (VPS) plutôt que sur votre machine chérie, cette
-section est faite pour vous.
-
-Pour démarrer une VM @uref{http://qemu.org/,QEMU} pour installer GuixSD sur
-une image disque, suivez ces étapes :
-
-@enumerate
-@item
-Tout d'abord récupérez et décompressez l'image d'installation de GuixSD
-comme décrit précédemment (@pxref{Installation depuis une clef USB ou un DVD}).
-
-@item
-Créez une image disque qui contiendra le système installé. Pour créer une
-image qcow2, utilise la commande @command{qemu-img} :
-
-@example
-qemu-img create -f qcow2 guixsd.img 50G
-@end example
-
-Le fichier qui en résulte sera bien plus petit que les 50 Go (habituellement
-moins de 1 Mo) mais il grossira au fur et à mesure que le stockage virtuel
-grossira.
-
-@item
-Démarrez l'image d'installation USB dans une VM :
-
-@example
-qemu-system-x86_64 -m 1024 -smp 1 \
- -net user -net nic,model=virtio -boot menu=on \
- -drive file=guixsd-install-@value{VERSION}.@var{system}.iso \
- -drive file=guixsd.img
-@end example
-
-L'ordre des périphérique est important
-
-Dans la console de la VM, appuyez rapidement sur @kbd{F12} pour entrer dans
-le menu de démarrage. Ensuite appuyez sur @kbd{2} et la touche @kbd{Entrée}
-pour valider votre choix.
-
-@item
-Vous êtes maintenant root dans la VM, continuez en suivant la procédure
-d'installation. @xref{Préparer l'installation}, et suivez les
-instructions.
-@end enumerate
-
-Une fois l'installation terminée, vous pouvez démarrer le système dans votre
-image @file{guixsd.img}. @xref{Lancer GuixSD dans une VM}, pour une manière de
-faire.
-
-@node Construire l'image d'installation
-@subsection Construire l'image d'installation
-
-@cindex image d'installation
-L'image d'installation décrite plus haut a été construite avec la commande
-@command{guix system}, plus précisément :
-
-@example
-guix system disk-image gnu/system/install.scm
-@end example
-
-Regardez le fichier @file{gnu/system/install.scm} dans l'arborescence des
-sources et regardez aussi @ref{Invoquer guix system} pour plus
-d'informations sur l'image d'installation.
-
-@subsection Construire l'image d'installation pour les cartes ARM
-
-De nombreuses cartes ARM requièrent une variante spécifique du chargeur
-d'amorçage @uref{http://www.denx.de/wiki/U-Boot/, U-Boot}.
-
-Si vous construisez une image disque et que le chargeur d'amorçage n'est pas
-disponible autrement (sur un autre périphérique d'amorçage etc), il est
-recommandé de construire une image qui inclus le chargeur d'amorçage, plus
-précisément :
-
-@example
-guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) "A20-OLinuXino-Lime2")'
-@end example
-
-@code{A20-OLinuXino-Lime2} est le nom de la carte. Si vous spécifiez une
-carte invalide, une liste de cartes possibles sera affichée.
@node Configuration système
-@section Configuration système
+@chapter Configuration système
@cindex configuration du système
La distribution système Guix utilise un mécanisme de configuration du
@@ -10065,13 +10276,12 @@ est configuré et instancié. Ensuite nous montrons comment ce mécanisme peut
* Configuration du chargeur d'amorçage:: Configurer le chargeur
d'amorçage.
* Invoquer guix system:: Instantier une configuration du système.
-* Lancer GuixSD dans une VM:: Comment lancer GuixSD dans une machine
- virtuelle.
+* Running Guix in a VM:: How to run Guix System in a virtual machine.
* Définir des services:: Ajouter de nouvelles définitions de services.
@end menu
@node Utiliser le système de configuration
-@subsection Utiliser le système de configuration
+@section Utiliser le système de configuration
Le système d'exploitation est configuré en fournissant une déclaration
@code{operating-system} dans un fichier qui peut être passé à la command
@@ -10095,7 +10305,7 @@ importants (@pxref{Référence de système d'exploitation}, pour des détails su
les champs disponibles) et comment @dfn{instancier} le système
d'exploitation avec @command{guix system}.
-@unnumberedsubsubsec Bootloader
+@unnumberedsubsec Bootloader
@cindex ancien système de démarrage, sur les machines Intel
@cindex démarrage BIOS, sur les machines Intel
@@ -10117,7 +10327,7 @@ Extensible Firmware Interface}) pour démarrer. Dans ce cas, le champ
@xref{Configuration du chargeur d'amorçage}, pour plus d'informations sur les options de
configuration disponibles.
-@unnumberedsubsubsec Paquets visibles sur tout le système
+@unnumberedsubsec Paquets visibles sur tout le système
@vindex %base-packages
Le champ @code{packages} liste les paquets qui seront visibles sur tout le
@@ -10162,18 +10372,17 @@ le meilleur paquet pour un nom donné ou un nom et une version :
%base-packages)))
@end lisp
-@unnumberedsubsubsec Services systèmes
+@unnumberedsubsec Services systèmes
@cindex services
@vindex %base-services
-Le champ @code{services} liste les @dfn{services système} à rendre
-disponible lorsque le système démarre (@pxref{Services}). La déclaration
-@code{operating-system} au-dessus spécifie que, en plus des services de
-base, on veut que le démon ssh @command{lshd} écoute sur le port 2222
-(@pxref{Services réseau, @code{lsh-service}}). Sous le capot,
-@code{lsh-service} s'arrange pour que @code{lshd} soit lancé avec les bonnes
-options de la ligne de commande, éventuellement en générant des fichiers de
-configuration (@pxref{Définir des services}).
+The @code{services} field lists @dfn{system services} to be made available
+when the system starts (@pxref{Services}). The @code{operating-system}
+declaration above specifies that, in addition to the basic services, we want
+the OpenSSH secure shell daemon listening on port 2222 (@pxref{Services réseau, @code{openssh-service-type}}). Under the hood,
+@code{openssh-service-type} arranges so that @command{sshd} is started with
+the right command-line options, possibly with supporting configuration files
+generated as needed (@pxref{Définir des services}).
@cindex personnalisation des services
@findex modify-services
@@ -10253,7 +10462,7 @@ l'expression suivante renvoie une liste qui contient tous les services dans
%desktop-services)
@end example
-@unnumberedsubsubsec Instancier le système
+@unnumberedsubsec Instancier le système
En supposant que la déclaration @code{operating-system} est stockée dans le
fichier @file{my-system-config.scm}, la commande @command{guix system
@@ -10286,10 +10495,10 @@ actuelle n'est pas la dernière (p.@: ex.@: après avoir invoqué @command{guix
system roll-back}), puisque l'opération pourrait remplacer une génération
suivante (@pxref{Invoquer guix system}).
-@unnumberedsubsubsec L'interface de programmation
+@unnumberedsubsec L'interface de programmation
Au niveau Scheme, la grosse déclaration @code{operating-system} est
-instanciée avec la procédure monadique suivante (@pxref{La monad du dépôt}) :
+instanciée avec la procédure monadique suivante (@pxref{La monade du dépôt}) :
@deffn {Procédure monadique} operating-system-derivation os
Renvoie une dérivation qui construit @var{os}, un objet
@@ -10299,13 +10508,13 @@ La sortie de la dérivation est un répertoire qui se réfère à tous les
paquets et d'autres fichiers supports requis pour instancier @var{os}.
@end deffn
-Cette procédure est fournie par le module @code{(gnu system)}. Avec
-@code{(gnu srevices)} (@pxref{Services}), ce module contient les entrailles
-de GuixSD. Ouvrez-le un jour !
+This procedure is provided by the @code{(gnu system)} module. Along with
+@code{(gnu services)} (@pxref{Services}), this module contains the guts of
+Guix System. Make sure to visit it!
@node Référence de système d'exploitation
-@subsection Référence de @code{operating-system}
+@section Référence de @code{operating-system}
Cette section résume toutes les options disponibles dans les déclarations
@code{operating-system} (@pxref{Utiliser le système de configuration}).
@@ -10462,7 +10671,7 @@ membres du groupe @code{wheel} peuvent utiliser @code{sudo}.
@end deftp
@node Systèmes de fichiers
-@subsection Systèmes de fichiers
+@section Systèmes de fichiers
La liste des systèmes de fichiers à monter est spécifiée dans le champ
@code{file-systems} de la déclaration de système d'exploitation
@@ -10634,7 +10843,7 @@ chargé.
@end defvr
@node Périphériques mappés
-@subsection Périphériques mappés
+@section Périphériques mappés
@cindex mappage de périphériques
@cindex périphériques mappés
@@ -10758,7 +10967,7 @@ automatiquement.
@node Comptes utilisateurs
-@subsection Comptes utilisateurs
+@section Comptes utilisateurs
@cindex utilisateurs
@cindex comptes
@@ -10897,7 +11106,7 @@ particulier et il est automatiquement ajouté qu'il soit spécifié ou non.
@end defvr
@node Régionalisation
-@subsection Régionalisation
+@section Régionalisation
@cindex paramètres linguistiques
Un @dfn{paramètre linguistique} définie les conventions culturelles d'une
@@ -10989,7 +11198,7 @@ Library Reference Manual}). Donc par exemple il y a @code{uk_UA.utf8} mais
@emph{pas}, disons, @code{uk_UA.UTF-8}.
@end defvr
-@subsubsection Considérations sur la compatibilité des données linguistiques
+@subsection Considérations sur la compatibilité des données linguistiques
@cindex incompatibilité, des données linguistiques
Les déclaration @code{operating-system} fournissent un champ
@@ -11012,11 +11221,10 @@ mais pas toutes les données linguistiques de la libc 2.21 (spécifiquement
les données @code{LC_COLLATE} sont incompatibles) ; donc les appels à
@code{setlocale} peuvent échouer, mais les programmes ne plantent pas.
-Le « problème » avec GuixSD c'est que les utilisateurs ont beaucoup de
-liberté : ils peuvent choisir s'ils veulent et quand ils veulent mettre à
-jour les logiciels de leur profil, et peuvent utiliser une version
-différente de la libc de celle que l'administrateur système utilise pour
-construire les données linguistiques du système global.
+The ``problem'' with Guix is that users have a lot of freedom: They can
+choose whether and when to upgrade software in their profiles, and might be
+using a libc version different from the one the system administrator used to
+build the system-wide locale data.
Heureusement, les utilisateurs non privilégiés peuvent aussi installer leur
propres données linguistiques et définir @var{GUIX_LOCPATH} comme il le faut
@@ -11043,7 +11251,7 @@ linguistiques pour la libc 2.21 et pour la version actuelle de la libc dans
@node Services
-@subsection Services
+@section Services
@cindex services systèmes
Une part importante de la préparation d'une déclaration
@@ -11052,13 +11260,11 @@ configuration (@pxref{Utiliser le système de configuration}). Les services
systèmes sont typiquement des démons lancés au démarrage ou d'autres actions
requises à ce moment-là — p.@: ex.@: configurer les accès réseaux.
-GuixSD a une définition large de « service » (@pxref{Composition de services}),
-mais beaucoup de services sont gérés par le GNU@tie{}Shepherd
-(@pxref{Services Shepherd}). Sur un système lancé, la commande
-@command{herd} vous permet de lister les services disponibles, montrer leur
-statut, les démarrer et les arrêter, ou faire d'autres opérations
-spécifiques (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}). Par
-exemple :
+Guix has a broad definition of ``service'' (@pxref{Composition de services}),
+but many services are managed by the GNU@tie{}Shepherd (@pxref{Services Shepherd}). On a running system, the @command{herd} command allows you to
+list the available services, show their status, start and stop them, or do
+other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd
+Manual}). For example:
@example
# herd status
@@ -11096,7 +11302,7 @@ par les services de base qui peuvent être utilisés avec une déclaration
* Services de base:: Services systèmes essentiels.
* Exécution de tâches planifiées:: Le service mcron.
* Rotation des journaux:: Le service rottlog.
-* Services réseau:: Paramétres réseau, démon SSH, etc.
+* Services réseau:: Paramètres réseau, démon SSH, etc.
* Système de fenêtrage X:: Affichage graphique.
* Services d'impression:: Support pour les imprimantes locales et
distantes.
@@ -11125,10 +11331,10 @@ par les services de base qui peuvent être utilisés avec une déclaration
@end menu
@node Services de base
-@subsubsection Services de base
+@subsection Services de base
Le module @code{(gnu services base)} fournit des définitions de services
-poru les services de base qu'on peut attendre du système. Les services
+pour les services de base qu'on peut attendre du système. Les services
exportés par ce module sort listés ci-dessous.
@defvr {Variable Scheme} %base-services
@@ -11143,7 +11349,9 @@ système, vous voudrez ajouter des services à ceux de @var{%base-services},
comme ceci :
@example
-(cons* (avahi-service) (lsh-service) %base-services)
+(append (list (service avahi-service-type)
+ (service openssh-service-type))
+ %base-services)
@end example
@end defvr
@@ -11493,7 +11701,7 @@ actions suivantes :
@item invalidate
@cindex invalidation du cache, nscd
@cindex nscd, invalidation du cache
-Cela invalide le cache dnné. Par exemple, en laçant :
+Cela invalide le cache donné. Par exemple, en laçant :
@example
herd invalidate nscd hosts
@@ -11526,7 +11734,7 @@ Liste des paquets dénotant des @dfn{services de noms} qui doivent être
visible pour nscd, p.@: ex.@: @code{(list @var{nss-mdns})}.
@item @code{glibc} (par défaut : @var{glibc})
-Objet de paquet qui dénote la Biblothèque C de GNU qui fournit la commande
+Objet de paquet qui dénote la Bibliothèque C de GNU qui fournit la commande
@command{nscd}.
@item @code{log-file} (par défaut : @code{"/var/log/nscd.log"})
@@ -11645,14 +11853,15 @@ Nombre de comptes utilisateurs de construction à créer.
@item @code{authorize-key?} (par défaut : @code{#t})
@cindex substituts, autorisations
-Autoriser ou non les clefs de substituts listées dans @code{authorize-keys}
-— par défaut celle de @code{hydra.gny.org} (@pxref{Substituts}).
+Whether to authorize the substitute keys listed in
+@code{authorized-keys}---by default that of @code{@value{SUBSTITUTE-SERVER}}
+(@pxref{Substituts}).
@vindex %default-authorized-guix-keys
@item @code{authorized-keys} (par défaut : @var{%default-authorized-guix-keys})
-La liste des fichiers de clefs autorisées pour les imports d'archives, en
-tant que liste de gexps sous forme de chaînes (@pxref{Invoquer guix archive}). Par défaut, elle contient celle de @code{hydra.gnu.org}
-(@pxref{Substituts}).
+The list of authorized key files for archive imports, as a list of
+string-valued gexps (@pxref{Invoquer guix archive}). By default, it
+contains that of @code{@value{SUBSTITUTE-SERVER}} (@pxref{Substituts}).
@item @code{use-substitutes?} (par défaut : @code{#t})
S'il faut utiliser les substituts.
@@ -11693,10 +11902,11 @@ Lance @var{udev}, qui rempli le répertoire @file{/dev} dynamiquement. Les
règles udev peuvent être fournies comme une liste de fichier via la variable
@var{rules}. Les procédures @var{udev-rule} et @var{file->udev-rule} de
@code{(gnu services base)} simplifient la création de ces fichiers de règle.
+@end deffn
@deffn {Procédure Scheme} udev-rule [@var{file-name} @var{contents}]
Renvoie un fichier de règle udev nommé @var{file-name} contenant les règles
-définie par le litéral @var{contents}.
+définie par le littéral @var{contents}.
Dans l'exemple suivant, on définie une règle pour un périphérique USB qui
sera stockée dans le fichier @file{90-usb-thing.rules}. La règle lance un
@@ -11711,6 +11921,9 @@ donné.
"ATTR@{product@}==\"Example\", "
"RUN+=\"/path/to/script\"")))
@end example
+
+The @command{herd rules udev} command, as root, returns the name of the
+directory containing all the active udev rules.
@end deffn
Ici on montre comment le service @var{udev-service} par défaut peut être
@@ -11760,7 +11973,7 @@ android)}.
L'exemple suivant montre comment utiliser le paquet @var{android-udev-rules}
pour que l'outil Android @command{adb} puisse détecter les appareils sans
-privilège root. Il détaille aussi comment créer le grope @code{adbusers},
+privilège root. Il détaille aussi comment créer le groupe @code{adbusers},
requis pour le bon fonctionnement des règles définies dans le paquet
@var{android-udev-rules}. Pour créer ce groupe, on doit le définir dans les
@var{supplementary-groups} de la déclaration @var{user-account} ainsi que
@@ -11786,13 +11999,13 @@ dans le champ @var{groups} de l'enregistrement @var{operating-system}.
;; @dots{}
(services
- (modify-services %desktop-services
- (udev-service-type config =>
- (udev-configuration (inherit config)
- (rules (cons* android-udev-rules
- (udev-configuration-rules config))))))))
+ (modify-services %desktop-services
+ (udev-service-type
+ config =>
+ (udev-configuration (inherit config)
+ (rules (cons android-udev-rules
+ (udev-configuration-rules config))))))))
@end example
-@end deffn
@defvr {Variable Scheme} urandom-seed-service-type
Garde de l'entropie dans @var{%random-seed-file} pour démarrer
@@ -11952,7 +12165,7 @@ sont souvent utilisés sur les systèmes audio temps-réel.
@end deffn
@node Exécution de tâches planifiées
-@subsubsection Exécution de tâches planifiées
+@subsection Exécution de tâches planifiées
@cindex cron
@cindex mcron
@@ -11960,11 +12173,11 @@ sont souvent utilisés sur les systèmes audio temps-réel.
Le module @code{(gnu services mcron)} fournit une interface pour
GNU@tie{}mcron, un démon qui lance des tâches planifiées (@pxref{Top,,,
mcron, GNU@tie{}mcron}). GNU@tie{}mcron est similaire au démon Unix
-traditionel @command{cron} ; la principale différence est qu'il est
+traditionnel @command{cron} ; la principale différence est qu'il est
implémenté en Guile Scheme, qui fournit beaucoup de flexibilité lors de la
spécification de la planification des tâches et de leurs actions.
-L'exemple en dessous définit un système d'exploitation qu lance les
+L'exemple en dessous définit un système d'exploitation qui lance les
commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding
Files}) et @command{guix gc} (@pxref{Invoquer guix gc}) tous les jours,
ainsi que la commande @command{mkid} en tant qu'utilisateur non privilégié
@@ -12000,9 +12213,11 @@ gexps pour introduire des définitions de tâches qui sont passées à mcron
(operating-system
;; @dots{}
- (services (cons (mcron-service (list garbage-collector-job
- updatedb-job
- idutils-job))
+ (services (cons (service mcron-service-type
+ (mcron-configuration
+ (jobs (list garbage-collector-job
+ updatedb-job
+ idutils-job))))
%base-services)))
@end lisp
@@ -12025,18 +12240,6 @@ pouvez spécifier le nombre de tâches à afficher :
# herd schedule mcron 10
@end example
-@deffn {Procédure Scheme} mcron-service @var{jobs} [#:mcron @var{mcron}]
-Renvoie un service mcron qui lance @var{mcron} qui planifie les tâches
-@var{jobs}, une liste de gexps qui dénotent des spécifications de tâches de
-mcron.
-
-C'est un raccourci pour :
-@example
-(service mcron-service-type
- (mcron-configuration (mcron mcron) (jobs jobs)))
-@end example
-@end deffn
-
@defvr {Variable Scheme} mcron-service-type
C'est le type du service @code{mcron}, dont la valeur est un objet
@code{mcron-configuration}
@@ -12062,7 +12265,7 @@ specifications,, mcron, GNU@tie{}mcron}).
@node Rotation des journaux
-@subsubsection Rotation des journaux
+@subsection Rotation des journaux
@cindex rottlog
@cindex journaux, rotation
@@ -12167,7 +12370,7 @@ s'agit de : @code{'("/var/log/messages" "/var/log/secure")}
@end defvr
@node Services réseau
-@subsubsection Services réseau
+@subsection Services réseau
Le module @code{(gnu services networking)} fournit des services pour
configurer les interfaces réseaux.
@@ -12260,7 +12463,7 @@ Par exemple :
@cindex gestion du réseau
@deffn {Procédure Scheme} wicd-service [#:wicd @var{wicd}]
Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un démon
-de gestion réseau qui cherche à simplifier la configuration des résaux
+de gestion réseau qui cherche à simplifier la configuration des réseaux
filaires et sans fil.
Ce service ajoute le paquet @var{wicd} au profil global, pour fournir des
@@ -12540,13 +12743,13 @@ secondes.
@cindex inetd
@deffn {Variable Scheme} inetd-service-type
Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,,
-inetutils, GNU Inetutils}). @command{inetd} écoute des connexionssur des
+inetutils, GNU Inetutils}). @command{inetd} écoute des connexions sur des
sockets internet et démarre le programme spécifié uniquement lorsqu'une
connexion arrive sur l'un de ces sockets.
La valeur de ce service est un objet @code{inetd-configuration}. L'exemple
suivant configure le démon @command{inetd} pour qu'il fournisse le service
-@command{echo}, ainsi qu'in service smtp qui transfère le trafic smtp par
+@command{echo}, ainsi qu'un service smtp qui transfère le trafic smtp par
ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname}
:
@@ -12642,12 +12845,6 @@ lancé en tant qu'utilisateur non privilégié @code{tor}, membre du groupe
@end defvr
-@deffn {Procédure Scheme} tor-service [@var{config-file}] [#:tor @var{tor}]
-Cette procédure est obsolète et sera supprimée dans les futures versions.
-Renvoie un service de type @code{tor-service-type}. @var{config-file} et
-@var{tor} ont la même signification que dans @code{<tor-configuration>}.
-@end deffn
-
@deftp {Type de données} tor-configuration
@table @asis
@item @code{tor} (par défaut : @code{tor})
@@ -12985,6 +13182,19 @@ C'est le symbole qui spécifie le niveau de journalisation : @code{quiet},
Voir la page de manuel de @file{sshd_config} pour trouver la liste complète
des noms de niveaux.
+@item @code{extra-content} (par défaut : @code{""})
+This field can be used to append arbitrary text to the configuration file.
+It is especially useful for elaborate configurations that cannot be
+expressed otherwise. This configuration, for example, would generally
+disable root logins, but permit them from one specific IP address:
+
+@example
+(openssh-configuration
+ (extra-content "\
+Match Address 192.168.0.1
+ PermitRootLogin yes"))
+@end example
+
@end table
@end deftp
@@ -12994,7 +13204,7 @@ Dropbear} avec la configuration @var{config} donnée, un objet
@code{<dropbear-configuration>}.
Par exemple, pour spécifier un service Dropbear qui écoute sur le port 1234,
-ajoutez cet appel au champ @code{services} d evotre système d'exploitation :
+ajoutez cet appel au champ @code{services} de votre système d'exploitation :
@example
(dropbear-service (dropbear-configuration
@@ -13060,34 +13270,53 @@ des navigateurs Web, ne se connectent à Facebook.
Le module @code{(gnu services avahi)} fourni la définition suivante.
-@deffn {Procédure Scheme} avahi-service [#:avahi @var{avahi}] @
- [#:host-name #f] [#:publish? #t] [#:ipv4? #t] @
-[#:ipv6? #t] [#:wide-area? #f] @
-[#:domains-to-browse '()] [#:debug? #f]
-Renvoie un service qui lance @command{avahi-daemon}, un serveur qui répond
-aux requêtes mDNS/DNS-SD qui permet de découvrir des services et de chercher
-des noms d'hôtes « sans configuration » (voir @uref{http://avahi.org/}) et
-qui étend le démon de cache de services de noms (nscd) pour qu'il puisse
-résoudre des noms en @code{.local} avec
-@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. En plus,
-ajoute le paquet @var{avahi} au profil du système pour que les commandes
-comme @command{avahi-browse} soient directement utilisables.
-
-Si @var{host-name} n'est pas @code{#f}, utilise cette valeur comme nom
-d'hôte à publier pour la machine ; sinon, utilise le vrai nom d'hôte de la
-machine.
-
-Lorsque la valeur de @var{publish?} est vraie, la publication des noms
-d'hôtes et des domaines sont autorisés ; en particulier, avahi-daemon
-publiera le nom d'hôte et l'adresse IP de la machine via mDNS sur le réseau
-local.
-
-Lorsque la valeur de @var{wide-area?} est vraie, DNS-SD sur DNS unicast est
-activé.
-
-Les valeurs booléennes @var{ipv4?} et @var{ipv6?} déterminent s'il faut
-utiliser un socket IPv4 ou IPv6 respectivement.
-@end deffn
+@defvr {Scheme Variable} avahi-service-type
+This is the service that runs @command{avahi-daemon}, a system-wide
+mDNS/DNS-SD responder that allows for service discovery and
+``zero-configuration'' host name lookups (see @uref{http://avahi.org/}).
+Its value must be a @code{zero-configuration} record---see below.
+
+This service extends the name service cache daemon (nscd) so that it can
+resolve @code{.local} host names using
+@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. @xref{Name Service Switch}, for information on host name resolution.
+
+Additionally, add the @var{avahi} package to the system profile so that
+commands such as @command{avahi-browse} are directly usable.
+@end defvr
+
+@deftp {Data Type} avahi-configuration
+Data type representation the configuration for Avahi.
+
+@table @asis
+
+@item @code{host-name} (default: @code{#f})
+If different from @code{#f}, use that as the host name to publish for this
+machine; otherwise, use the machine's actual host name.
+
+@item @code{publish?} (default: @code{#t})
+When true, allow host names and services to be published (broadcast) over
+the network.
+
+@item @code{publish-workstation?} (default: @code{#t})
+When true, @command{avahi-daemon} publishes the machine's host name and IP
+address via mDNS on the local network. To view the host names published on
+your local network, you can run:
+
+@example
+avahi-browse _workstation._tcp
+@end example
+
+@item @code{wide-area?} (default: @code{#f})
+When true, DNS-SD over unicast DNS is enabled.
+
+@item @code{ipv4?} (default: @code{#t})
+@itemx @code{ipv6?} (default: @code{#t})
+These fields determine whether to use IPv4/IPv6 sockets.
+
+@item @code{domains-to-browse} (default: @code{'()})
+This is a list of domains to browse.
+@end table
+@end deftp
@deffn {Variable Scheme} openvswitch-service-type
C'est le type du service @uref{http://www.openvswitch.org, Open vSwitch},
@@ -13107,7 +13336,7 @@ Objet de paquet de Open vSwitch.
@end deftp
@node Système de fenêtrage X
-@subsubsection Système de fenêtrage X
+@subsection Système de fenêtrage X
@cindex X11
@cindex Système de fenêtrage X
@@ -13309,18 +13538,33 @@ avec une configuration de type @code{<sddm-configuration>}.
@end deffn
@deffn {Procédure Scheme} xorg-start-command [#:guile] @
- [#:modules %default-xorg-modules] @
-[#:fonts %default-xorg-fonts] @
-[#:configuration-file (xorg-configuration-file @dots{})] @
-[#:xorg-server @var{xorg-server}]
-Renvoie un script @code{startx} dans lequel @var{modules}, une liste de
-paquets de modules X et @var{fonts}, une liste de répertoires de polices X,
-sont disponibles. Voir @code{xorg-wrapper} pour plus de détails sur les
-arguments. Le résultat devrait être utilisé à la place de @code{startx}.
+ [#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @
+[#:configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server
+@var{xorg-server}] [#:xserver-arguments '("-nolisten" "tcp")] Return a
+@code{startx} script in which @var{modules}, a list of X module packages,
+and @var{fonts}, a list of X font directories, are available. See
+@code{xorg-wrapper} for more details on the arguments. The result should be
+used in place of @code{startx}.
Habituellement le serveur X est démarré par un gestionnaire de connexion.
@end deffn
+@cindex @code{-listen tcp}, for X11.
+This procedure is useful to override command line options for the X server,
+such as having it listen to over TCP:
+
+@example
+(operating-system
+ ...
+ (services
+ (modify-services %desktop-services
+ (slim-service-type config =>
+ (slim-configuration
+ (inherit config)
+ (startx (xorg-start-command
+ #:xserver-arguments '("-listen" "tcp"))))))))
+@end example
+
@deffn {Procédure Scheme} xorg-configuration-file @
[#:modules %default-xorg-modules] @
[#:fonts %default-xorg-fonts] @
@@ -13401,13 +13645,12 @@ rend utilisable le bon vieux XlockMore.
@node Services d'impression
-@subsubsection Services d'impression
+@subsection Services d'impression
@cindex support des imprimantes avec CUPS
-Le module @code{(gnu services cups)} fournit une définition de service Guix
-pour le service d'impression CUPS. Pour ajouter le support d'une imprimante
-à un système GuixSD, ajoutez un @code{cups-service} à la définition du
-système d'exploitation :
+The @code{(gnu services cups)} module provides a Guix service definition for
+the CUPS printing service. To add printer support to a Guix system, add a
+@code{cups-service} to the operating system definition:
@deffn {Variable Scheme} cups-service-type
Le type de service pour un serveur d'impression CUPS. Sa valeur devrait
@@ -13428,7 +13671,7 @@ auto-signé si besoin, pour les connexions sécurisée avec le serveur
d'impression.
Supposons que vous souhaitiez activer l'interface Web de CUPS et ajouter le
-support pour les imprimantes Epson via le paquet @code{escpr} et our les
+support pour les imprimantes Epson via le paquet @code{escpr} et pour les
imprimantes HP via le paquet @code{hplip-minimal}. Vous pouvez le faire
directement, comme ceci (vous devez utiliser le module @code{(gnu packages
cups)}) :
@@ -13776,7 +14019,7 @@ La valeur par défaut est @samp{stop-printer}.
Spécifie le coût maximum des filtres qui sont lancés en même temps, pour
minimiser les problèmes de ressources de disque, de mémoire et de CPU. Une
limite de 0 désactive la limite de filtrage. Une impression standard vers
-une imprimante non-PostScript requirt une limite de filtre d'environ 200.
+une imprimante non-PostScript requiert une limite de filtre d'environ 200.
Une imprimante PostScript requiert environ la moitié (100). Mettre en place
la limite en dessous de ces valeurs limitera l'ordonnanceur à un seul
travail d'impression à la fois.
@@ -13852,7 +14095,7 @@ La valeur par défaut est @samp{0}.
@deftypevr {paramètre de @code{cups-configuration}} multiline-string-list listen
Écoute sur les interfaces spécifiées. Les valeurs valides sont de la forme
-@var{adresse}:@var{port}, où @var{adresse} est sotit une daresse IPv6 dans
+@var{adresse}:@var{port}, où @var{adresse} est soit une adresse IPv6 dans
des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes les
adresses. Les valeurs peuvent aussi être des noms de fichiers de socket
UNIX domain. La directive Listen est similaire à la directive Port mais
@@ -14275,7 +14518,7 @@ cette manière :
@node Services de bureaux
-@subsubsection Services de bureaux
+@subsection Services de bureaux
Le module @code{(gnu services desktop)} fournit des services qui sont
habituellement utiles dans le contexte d'une installation « de bureau » —
@@ -14505,24 +14748,80 @@ exemple, un utilisateur normal peut obtenir le droit de mettre le système en
veille si l'utilisateur est connecté localement.
@end deffn
-@deffn {Procédure Scheme} upower-service [#:upower @var{upower}] @
- [#:watts-up-pro? #f] @
-[#:poll-batteries? #t] @
-[#:ignore-lid? #f] @
-[#:use-percentage-for-policy? #f] @
-[#:percentage-low 10] @
-[#:percentage-critical 3] @
-[#:percentage-action 2] @
-[#:time-low 1200] @
-[#:time-critical 300] @
-[#:time-action 120] @
-[#:critical-power-action 'hybrid-sleep]
-Renvoie un service qui lance @uref{http://upower.freedesktop.org/,
-@command{upowerd}}, un moniteur système pour la consommation électrique et
-le niveau de batterie, avec les paramètres de configuration données. Il
-implémente l'interface D-Bus @code{org.freedesktop.UPower} et est notamment
-utilisé par GNOME.
-@end deffn
+@defvr {Scheme Variable} upower-service-type
+Service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}},
+a system-wide monitor for power consumption and battery levels, with the
+given configuration settings.
+
+It implements the @code{org.freedesktop.UPower} D-Bus interface, and is
+notably used by GNOME.
+@end defvr
+
+@deftp {Data Type} upower-configuration
+Data type representation the configuration for UPower.
+
+@table @asis
+
+@item @code{upower} (default: @var{upower})
+Package to use for @code{upower}.
+
+@item @code{watts-up-pro?} (default: @code{#f})
+Enable the Watts Up Pro device.
+
+@item @code{poll-batteries?} (default: @code{#t})
+Enable polling the kernel for battery level changes.
+
+@item @code{ignore-lid?} (default: @code{#f})
+Ignore the lid state, this can be useful if it's incorrect on a device.
+
+@item @code{use-percentage-for-policy?} (default: @code{#f})
+Whether battery percentage based policy should be used. The default is to
+use the time left, change to @code{#t} to use the percentage.
+
+@item @code{percentage-low} (default: @code{10})
+When @code{use-percentage-for-policy?} is @code{#t}, this sets the
+percentage at which the battery is considered low.
+
+@item @code{percentage-critical} (default: @code{3})
+When @code{use-percentage-for-policy?} is @code{#t}, this sets the
+percentage at which the battery is considered critical.
+
+@item @code{percentage-action} (default: @code{2})
+When @code{use-percentage-for-policy?} is @code{#t}, this sets the
+percentage at which action will be taken.
+
+@item @code{time-low} (default: @code{1200})
+When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining
+in seconds at which the battery is considered low.
+
+@item @code{time-critical} (default: @code{300})
+When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining
+in seconds at which the battery is considered critical.
+
+@item @code{time-action} (default: @code{120})
+When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining
+in seconds at which action will be taken.
+
+@item @code{critical-power-action} (default: @code{'hybrid-sleep})
+The action taken when @code{percentage-action} or @code{time-action} is
+reached (depending on the configuration of
+@code{use-percentage-for-policy?}).
+
+Possible values are:
+
+@itemize @bullet
+@item
+@code{'power-off}
+
+@item
+@code{'hibernate}
+
+@item
+@code{'hybrid-sleep}.
+@end itemize
+
+@end table
+@end deftp
@deffn {Procédure Scheme} udisks-service [#:udisks @var{udisks}]
Renvoie un service pour @uref{http://udisks.freedesktop.org/docs/latest/,
@@ -14590,7 +14889,7 @@ service D-Bus.
@end deffn
@node Services de son
-@subsubsection Services de son
+@subsection Services de son
@cindex support du son
@cindex ALSA
@@ -14603,7 +14902,7 @@ pilote de sortie préféré d'ALSA.
@deffn {Variable Scheme} alsa-service-type
C'est le type pour le système @uref{https://alsa-project.org/, Advanced
Linux Sound Architecture} (ALSA), qui génère le fichier de configuration
-@file{/etc/asound.conf}. La valer de ce type est un enregistrement
+@file{/etc/asound.conf}. La valeur de ce type est un enregistrement
@command{alsa-configuration} comme dans cet exemple :
@example
@@ -14672,22 +14971,57 @@ détails.
@node Services de bases de données
-@subsubsection Services de bases de données
+@subsection Services de bases de données
@cindex database
@cindex SQL
Le module @code{(gnu services databases)} fournit les services suivants.
@deffn {Procédure Scheme} postgresql-service [#:postgresql postgresql] @
- [#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @
-[#:port 5432] [#:locale ``en_US.utf8'']
-Renvoie un service qui lance @var{postgresql}, le service de bases de
-données PostgreSQL.
+ [#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ [#:port
+5432] [#:locale ``en_US.utf8''] [#:extension-packages '()] Return a service
+that runs @var{postgresql}, the PostgreSQL database server.
Le démon PostgreSQL charge sa configuration à l'exécution depuis
@var{config-file}, crée une grappe de bases de données avec @var{locale}
comme paramètre de régionalisation par défaut, stockée dans
@var{data-directory}. Il écoute ensuite sur @var{port}.
+
+@cindex postgresql extension-packages
+Additional extensions are loaded from packages listed in
+@var{extension-packages}. Extensions are available at runtime. For
+instance, to create a geographic database using the @code{postgis}
+extension, a user can configure the postgresql-service as in this example:
+
+@cindex postgis
+@example
+(use-package-modules databases geo)
+
+(operating-system
+ ...
+ ;; postgresql is required to run `psql' but postgis is not required for
+ ;; proper operation.
+ (packages (cons* postgresql %base-packages))
+ (services
+ (cons*
+ (postgresql-service #:extension-packages (list postgis))
+ %base-services)))
+@end example
+
+Then the extension becomes visible and you can initialise an empty
+geographic database in this way:
+
+@example
+psql -U postgres
+> create database postgistest;
+> \connect postgistest;
+> create extension postgis;
+> create extension postgis_topology;
+@end example
+
+There is no need to add this field for contrib extensions such as hstore or
+dblink as they are already loadable by postgresql. This field is only
+required to add extensions provided by other packages.
@end deffn
@deffn {Procédure Scheme} mysql-service [#:config (mysql-configuration)]
@@ -14799,7 +15133,7 @@ Répertoire dans lequel stocker la base de données et les fichiers liés.
@end deftp
@node Services de courriels
-@subsubsection Services de courriels
+@subsection Services de courriels
@cindex courriel
@cindex email
@@ -15790,7 +16124,7 @@ par défaut est @samp{#t}.
@deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-very-dirty-syncs?
Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement même
avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK. Si l'option n'est pas
-actifée, @samp{mbox-dirty-syncs} est ignorée. La valeur par défaut est
+activée, @samp{mbox-dirty-syncs} est ignorée. La valeur par défaut est
@samp{#f}.
@end deftypevr
@@ -16085,7 +16419,7 @@ Contournements pour divers bogues de certains client :
@table @code
@item delay-newmail
-Envoie des notifications de nouveau message EXISTS/RECENT seulement en
+Envoi des notifications de nouveau message EXISTS/RECENT seulement en
réponse aux commandes NOOP et CHECK. Certains clients les ignorent
autrement, par exemple OSX Mail (< v2.1). Outlook Express est encore plus
cassé, sans cela il peut montrer des erreurs de type « Le message n'est plus
@@ -16112,11 +16446,11 @@ autorise tous. La valeur par défaut est @samp{""}.
@end deftypevr
-Ouf ! Tant d'options de configuration. La bonne nouvelle, c'est que GuixSD
-a une interface complète avec le langage de configuration de Dovecot. Cela
-permet non seulement de déclarer la configuration de manière agréable, mais
-aussi d'offrir des capacités de réflexion : les utilisateurs peuvent écrire
-du code pour inspecter et transformer les configuration depuis Scheme.
+Whew! Lots of configuration options. The nice thing about it though is that
+Guix has a complete interface to Dovecot's configuration language. This
+allows not only a nice way to declare configurations, but also offers
+reflective capabilities as well: users can write code to inspect and
+transform configurations from within Scheme.
Cependant, vous pourriez avoir un fichier @code{dovecot.conf} déjà tout
prêt. Dans ce cas, vous pouvez passer un objet
@@ -16168,7 +16502,7 @@ Objet de paquet du serveur SMTP OpenSMTPD.
Objet simili-fichier du fichier de configuration de OpenSMTPD à utiliser.
Par défaut il écoute sur l'interface de boucle locale et accepte les
courriels des utilisateurs et des démons de la machine locale, et autorise
-l'envoie de courriels à des serveurs distants. Lancez @command{man
+l'envoi de courriels à des serveurs distants. Lancez @command{man
smtpd.conf} pour plus d'information.
@end table
@@ -16243,9 +16577,9 @@ système. Dans l'exemple au-dessus, il n'y a pas besoin d'une entrée
@code{bob@@example.com} et @code{bob@@example2.com}).
@node Services de messagerie
-@subsubsection Services de messagerie
+@subsection Services de messagerie
-@cindex messagerie intantanée
+@cindex messagerie instantanée
@cindex jabber
@cindex XMPP
Le module @code{(gnu services messaging)} fournit des définitions de
@@ -16514,10 +16848,9 @@ d'information sur l'utilisation du moteur hashed. Voir aussi
@end deftypevr
@deftypevr {paramètre de @code{prosody-configuration}} maybe-string log
-Indique les options de journalisation. La configuration avancée des
-journaux n'est pas encore supportée par le service Prosody dans GuixSD.
-Voir @url{https://prosody.im/doc/logging}. La valeur par défaut est
-@samp{"*syslog"}.
+Set logging options. Advanced logging configuration is not yet supported by
+the Guix Prosody Service. See @url{https://prosody.im/doc/logging}.
+Defaults to @samp{"*syslog"}.
@end deftypevr
@deftypevr {paramètre de @code{prosody-configuration}} file-name pidfile
@@ -16718,7 +17051,7 @@ C'est le type de service pour le démon de passerelle IRC
@url{http://bitlbee.org,BitlBee}. Sa valeur est un
@code{bitlbee-configuration} (voir plus bas).
-Pour que BitlBee écoute sur le pourt 6667 sur localhost, ajoutez cette ligne
+Pour que BitlBee écoute sur le port 6667 sur localhost, ajoutez cette ligne
à vos services :
@example
@@ -16752,9 +17085,37 @@ BitlBee.
@end table
@end deftp
+@subsubheading Quassel Service
+
+@cindex IRC (Internet Relay Chat)
+@url{https://quassel-irc.org/,Quassel} is a distributed IRC client, meaning
+that one or more clients can attach to and detach from the central core.
+
+@defvr {Scheme Variable} quassel-service-type
+This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC
+backend daemon. Its value is a @code{quassel-configuration} (see below).
+@end defvr
+
+@deftp {Data Type} quassel-configuration
+This is the configuration for Quassel, with the following fields:
+
+@table @asis
+@item @code{quassel} (default: @code{quassel})
+The Quassel package to use.
+
+@item @code{interface} (default: @code{"::,0.0.0.0"})
+@item @code{port} (default: @code{4242})
+Listen on the network interface(s) corresponding to the IPv4 or IPv6
+interfaces specified in the comma delimited @var{interface}, on @var{port}.
+
+@item @code{loglevel} (default: @code{"Info"})
+The level of logging desired. Accepted values are Debug, Info, Warning and
+Error.
+@end table
+@end deftp
@node Services de téléphonie
-@subsubsection Services de téléphonie
+@subsection Services de téléphonie
@cindex Murmur (serveur VoIP)
@cindex serveur VoIP
@@ -16770,14 +17131,14 @@ configuration :
(service murmur-service-type
(murmur-configuration
(welcome-text
- "Welcome to this Mumble server running on GuixSD!")
+ "Welcome to this Mumble server running on Guix!")
(cert-required? #t) ;disallow text password logins
(ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem")
(ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem")))
@end example
Après avoir reconfiguré votre système, vous pouvez manuellement indiquer le
-mot de passe @code{SuperUser} de murmur avac la commande qui s'affiche
+mot de passe @code{SuperUser} de murmur avec la commande qui s'affiche
pendant la phase d'activation.
Il est recommandé d'enregistrer un compte utilisateur Mumble normal et de
@@ -16978,7 +17339,7 @@ indiquée votre serveur sera listé par son nom d'hôte.
@node Services de surveillance
-@subsubsection Services de surveillance
+@subsection Services de surveillance
@subsubheading Service Tailon
@@ -17165,8 +17526,327 @@ Lie l'interface web sur l'adresse spécifiée.
@end table
@end deftp
+@subsubheading Zabbix server
+@cindex zabbix zabbix-server
+Zabbix provides monitoring metrics, among others network utilization, CPU
+load and disk space consumption:
+
+@itemize
+@item High performance, high capacity (able to monitor hundreds of thousands of devices).
+@item Auto-discovery of servers and network devices and interfaces.
+@item Low-level discovery, allows to automatically start monitoring new items, file systems or network interfaces among others.
+@item Distributed monitoring with centralized web administration.
+@item Native high performance agents.
+@item SLA, and ITIL KPI metrics on reporting.
+@item High-level (business) view of monitored resources through user-defined visual console screens and dashboards.
+@item Remote command execution through Zabbix proxies.
+@end itemize
+
+@c %start of fragment
+
+Available @code{zabbix-server-configuration} fields are:
+
+@deftypevr {@code{zabbix-server-configuration} parameter} package zabbix-server
+The zabbix-server package.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string user
+User who will run the Zabbix server.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} group group
+Group who will run the Zabbix server.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string db-host
+Database host name.
+
+Defaults to @samp{"127.0.0.1"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string db-name
+Database name.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string db-user
+Database user.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string db-password
+Database password. Please, use @code{include-files} with
+@code{DBPassword=SECRET} inside a specified file instead.
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} number db-port
+Database port.
+
+Defaults to @samp{5432}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string log-type
+Specifies where log messages are written to:
+
+@itemize @bullet
+@item
+@code{system} - syslog.
+
+@item
+@code{file} - file specified with @code{log-file} parameter.
+
+@item
+@code{console} - standard output.
+
+@end itemize
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string log-file
+Log file name for @code{log-type} @code{file} parameter.
+
+Defaults to @samp{"/var/log/zabbix/server.log"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string pid-file
+Name of PID file.
+
+Defaults to @samp{"/var/run/zabbix/zabbix_server.pid"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string ssl-ca-location
+The location of certificate authority (CA) files for SSL server certificate
+verification.
+
+Defaults to @samp{"/etc/ssl/certs/ca-certificates.crt"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string ssl-cert-location
+Location of SSL client certificates.
+
+Defaults to @samp{"/etc/ssl/certs"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} string extra-options
+Extra options will be appended to Zabbix server configuration file.
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-server-configuration} parameter} include-files include-files
+You may include individual files or all files in a directory in the
+configuration file.
+
+La valeur par défaut est @samp{()}.
+
+@end deftypevr
+
+@c %end of fragment
+
+@subsubheading Zabbix agent
+@cindex zabbix zabbix-agent
+
+Zabbix agent gathers information for Zabbix server.
+
+@c %start of fragment
+
+Available @code{zabbix-agent-configuration} fields are:
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} package zabbix-agent
+The zabbix-agent package.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} string user
+User who will run the Zabbix agent.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} group group
+Group who will run the Zabbix agent.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} string hostname
+Unique, case sensitive hostname which is required for active checks and must
+match hostname as configured on the server.
+
+Defaults to @samp{"Zabbix server"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} string log-type
+Specifies where log messages are written to:
+
+@itemize @bullet
+@item
+@code{system} - syslog.
+
+@item
+@code{file} - file specified with @code{log-file} parameter.
+
+@item
+@code{console} - standard output.
+
+@end itemize
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} string log-file
+Log file name for @code{log-type} @code{file} parameter.
+
+Defaults to @samp{"/var/log/zabbix/agent.log"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} string pid-file
+Name of PID file.
+
+Defaults to @samp{"/var/run/zabbix/zabbix_agent.pid"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} list server
+List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix
+servers and Zabbix proxies. Incoming connections will be accepted only from
+the hosts listed here.
+
+Defaults to @samp{("127.0.0.1")}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} list server-active
+List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix
+proxies for active checks. If port is not specified, default port is used.
+If this parameter is not specified, active checks are disabled.
+
+Defaults to @samp{("127.0.0.1")}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} string extra-options
+Extra options will be appended to Zabbix server configuration file.
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-agent-configuration} parameter} include-files include-files
+You may include individual files or all files in a directory in the
+configuration file.
+
+La valeur par défaut est @samp{()}.
+
+@end deftypevr
+
+@c %end of fragment
+
+@subsubheading Zabbix front-end
+@cindex zabbix zabbix-front-end
+
+This service provides a WEB interface to Zabbix server.
+
+@c %start of fragment
+
+Available @code{zabbix-front-end-configuration} fields are:
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} nginx-server-configuration-list nginx
+Configuration Nginx.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-host
+Database host name.
+
+La valeur par défaut est @samp{"localhost"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} number db-port
+Database port.
+
+Defaults to @samp{5432}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-name
+Database name.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-user
+Database user.
+
+Defaults to @samp{"zabbix"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-password
+Database password. Please, use @code{db-secret-file} instead.
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-secret-file
+Secret file which will be appended to @file{zabbix.conf.php} file. This
+file contains credentials for use by Zabbix front-end. You are expected to
+create it manually.
+
+La valeur par défaut est @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} string zabbix-host
+Zabbix server hostname.
+
+La valeur par défaut est @samp{"localhost"}.
+
+@end deftypevr
+
+@deftypevr {@code{zabbix-front-end-configuration} parameter} number zabbix-port
+Zabbix server port.
+
+Defaults to @samp{10051}.
+
+@end deftypevr
+
+
+@c %end of fragment
+
@node Services Kerberos
-@subsubsection Services Kerberos
+@subsection Services Kerberos
@cindex Kerberos
Le module @code{(gnu services kerberos)} fournit des services liés au
@@ -17291,7 +17971,7 @@ devraient être tentées. Les comptes locaux avec une valeur plus petite
@node Services web
-@subsubsection Services web
+@subsection Services web
@cindex web
@cindex www
@@ -17518,7 +18198,7 @@ configuration, donc il utilise les fichiers par défaut pour les messages
d'erreur. S'il échoue à charger sa configuration, c'est là où les messages
seront enregistrés. Après la lecture du fichier de configuration, le
fichier de journal d'erreur par défaut change en fonction de celle-ci. Dans
-notre cas, les messages d'erreur au démarage se trouvent dans
+notre cas, les messages d'erreur au démarrage se trouvent dans
@file{/var/run/nginx/logs/error.log} et après la configuration dans
@file{/var/log/nginx/error.log}. Ce second emplacement peut être modifié
avec l'option de configuration @var{log-directory}.
@@ -17699,7 +18379,7 @@ URI qui correspond à ce bloc.
@anchor{nginx-location-configuration body}
@item @code{body}
Corps du block location, spécifié comme une liste de chaînes de caractères.
-Cela peut contenir de nombreuses directives de configuration. PAr exemple,
+Cela peut contenir de nombreuses directives de configuration. Par exemple,
pour passer des requêtes à un groupe de serveurs amont définis dans un bloc
@code{nginx-upstream-configuration}, la directive suivante peut être
spécifiée dans le corps : @samp{(list "proxy_pass http://upstream-name;")}.
@@ -17810,7 +18490,7 @@ Arguments supplémentaires à passer au processus @command{varnishd}.
@cindex fastcgi
@cindex fcgiwrap
FastCGI est une interface entre le frontal et le moteur d'un service web.
-C'est un dispositif quelque peu désué ; les nouveaux services devraient
+C'est un dispositif quelque peu désuet ; les nouveaux services devraient
généralement juste parler HTTP entre le frontal et le moteur. Cependant il
y a un certain nombre de services de moteurs comme PHP ou l'accès aux dépôts
Git optimisé en HTTP qui utilisent FastCGI, donc nous le supportons dans
@@ -17828,8 +18508,8 @@ Un type de service pour le mandataire FastCGI @code{fcgiwrap}.
@end defvr
@deftp {Type de données} fcgiwrap-configuration
-Type de données représentant la configuration d'un service @code{fcgiwrap}.
-Ce type a les paramètres suivants :
+Data type representing the configuration of the @code{fcgiwrap} service.
+This type has the following parameters:
@table @asis
@item @code{package} (par défaut : @code{fcgiwrap})
Le paquet fcgiwrap à utiliser.
@@ -17892,7 +18572,7 @@ Type de données pour la configuration du service php-fpm.
@item @code{php} (par défaut : @code{php})
Le paquet php à utiliser.
@item @code{socket} (par défaut : @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.sock")})
-L'adresse sur laquelle accepter les requêts FastCGI. Les syntaxes valides
+L'adresse sur laquelle accepter les requêtes FastCGI. Les syntaxes valides
sont :
@table @asis
@item @code{"ip.add.re.ss:port"}
@@ -17930,6 +18610,8 @@ clients et affichés dans leur navigateur. Cela est utile pour un
développement php local, mais un risque pour la sécurité pour les sites
publics, comme les messages d'erreur peuvent révéler des mots de passes et
des données personnelles.
+@item @code{timezone} (default @code{#f})
+Specifies @code{php_admin_value[date.timezone]} parameter.
@item @code{workers-logfile} (par défaut : @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.www.log")})
Ce fichier enregistrera la sortie @code{stderr} des processus de travail de
php. On peut indiquer @code{#f} pour désactiver la journalisation.
@@ -17999,7 +18681,7 @@ Une configuration simple de services pour php ressemble à ceci :
(root "/srv/http/")
(locations
(list (nginx-php-location)))
- (https-port #f)
+ (listen '("80"))
(ssl-certificate #f)
(ssl-certificate-key #f)))
%base-services))
@@ -18011,7 +18693,7 @@ l'utilisation de php-fpm dans @code{Nginx}. Il permet de générer des
avatars de chats à partir d'une graine, par exemple le hash de l'adresse de
courriel d'un utilisateur.
-@deffn {Procédure Scheme} cat-avatar-generator-serice @
+@deffn {Scheme Procedure} cat-avatar-generator-service @
[#:cache-dir "/var/cache/cat-avatar-generator"] @
[#:package cat-avatar-generator] @
[#:configuration (nginx-server-configuration)]
@@ -18111,7 +18793,7 @@ certificats dans le champ @code{packages} de votre configuration.
@end quotation
@node Services de certificats
-@subsubsection Services de certificats
+@subsection Services de certificats
@cindex Web
@cindex HTTP, HTTPS
@@ -18202,13 +18884,14 @@ de problème et des notifications importantes sur le compte.
Taille de la clef RSA.
@item @code{default-location} (par défaut : @i{voir plus bas})
-Le @code{nginx-location-configuration} par défaut. Come @code{certbot} doit
-pouvoir servir les défis et les réponses, il doit être capable de lancer un
-serveur web. Cela se fait en étendant le service web @code{nginx} avec un
-@code{nginx-server-configuration} qui écoute sur les @var{domains} sur le
-port 80 et qui a un @code{nginx-location-configuration} pour le chemin
-@code{/.well-known/} utilisé par Let's Encrypt. @xref{Services web} pour
-plus d'information sur les types de données de la configuration de nginx.
+Le @code{nginx-location-configuration} par défaut. Comme @code{certbot}
+doit pouvoir servir les défis et les réponses, il doit être capable de
+lancer un serveur web. Cela se fait en étendant le service web @code{nginx}
+avec un @code{nginx-server-configuration} qui écoute sur les @var{domains}
+sur le port 80 et qui a un @code{nginx-location-configuration} pour le
+chemin @code{/.well-known/} utilisé par Let's Encrypt. @xref{Services web}
+pour plus d'information sur les types de données de la configuration de
+nginx.
Les requêtes vers d'autres URL correspondra à @code{default-location}, qui,
s'il est présent, sera ajout é à tous les @code{nginx-server-configuration}.
@@ -18254,7 +18937,7 @@ Pour chaque @code{certificate-configuration}, le certificat est sauvegardé
dans @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} et la clef est
sauvegardée dans @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
@node Services DNS
-@subsubsection Services DNS
+@subsection Services DNS
@cindex DNS (domain name system)
@cindex domain name system (DNS)
@@ -18657,7 +19340,7 @@ Une politique entre @code{'increment} et @code{'unixtime}.
@end deftp
@deftp {Type de données} knot-configuration
-Type de donées représentant la configuration de Knot. Ce type a les
+Type de données représentant la configuration de Knot. Ce type a les
paramètres suivants :
@table @asis
@@ -18749,7 +19432,7 @@ Lorsque la valeur est fausse, désactive le cache des réponses négatives.
@subsubheading Service ddclient
@cindex ddclient
-Le srevice ddclient décrit plus bas lance le démon ddclient, qui prend en
+Le service ddclient décrit plus bas lance le démon ddclient, qui prend en
charge la mise à jour automatique des entrées DNS pour les fournisseurs de
service comme @uref{https://dyn.com/dns/, Dyn}.
@@ -18857,7 +19540,7 @@ La valeur par défaut est @samp{()}.
@node Services VPN
-@subsubsection Services VPN
+@subsection Services VPN
@cindex VPN (réseau privé virtuel)
@cindex réseau privé virtuel (VPN)
@@ -19167,7 +19850,7 @@ La valeur par défaut est @samp{#f}.
Fait que des messages de ping sont envoyés régulièrement dans les deux sens
pour que chaque côté sache quand l'autre n'est plus disponible.
@code{keepalive} a besoin d'une paire. Le premier élément est la période
-d'envoie du ping, et le second élément est le délai d'attente avant de
+d'envoi du ping, et le second élément est le délai d'attente avant de
considéré que l'autre côté n'est plus disponible.
@end deftypevr
@@ -19222,7 +19905,7 @@ La valeur par défaut est @samp{#f}.
@node Système de fichiers en réseau
-@subsubsection Système de fichiers en réseau
+@subsection Système de fichiers en réseau
@cindex NFS
Le module @code{(gnu services nfs)} fournit les services suivants, qui sont
@@ -19338,7 +20021,7 @@ domaine pleinement qualifié de l'hôte.
@end deftp
@node Intégration continue
-@subsubsection Intégration continue
+@subsection Intégration continue
@cindex intégration continue
@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} est
@@ -19458,7 +20141,7 @@ Le paquet Cuirass à utiliser.
@end deftp
@node Services de gestion de l'énergie
-@subsubsection Services de gestion de l'énergie
+@subsection Services de gestion de l'énergie
@cindex tlp
@cindex gestion de l'énergie avec TLP
@@ -20003,7 +20686,7 @@ Objet du paquet de thermald.
@end deftp
@node Services audio
-@subsubsection Services audio
+@subsection Services audio
Le module @code{(gnu services audio)} fournit un service qui lance MPD (le
démon de lecture de musique).
@@ -20054,7 +20737,7 @@ chemin absolu peut être spécifié ici.
@end deftp
@node Services de virtualisation
-@subsubsection services de virtualisation
+@subsection services de virtualisation
Le module @code{(gnu services virtualization)} fournit des services pour les
démons libvirt et virtlog, ainsi que d'autres services liés à la
@@ -20377,61 +21060,62 @@ La valeur par défaut est @samp{20}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer max-client-requests
-Limit on concurrent requests from a single client connection. To avoid one
-client monopolizing the server this should be a small fraction of the global
-max_requests and max_workers parameter.
+Limite de requêtes concurrentes depuis une connexion cliente unique. Pour
+éviter qu'un client ne monopolise le serveur, vous devriez indiquer une
+petite partie des paramètres global max_requests et max_workers.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-min-workers
-Same as @code{min-workers} but for the admin interface.
+Comme @code{min-workers} mais pour l'interface d'administration.
La valeur par défaut est @samp{1}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-workers
-Same as @code{max-workers} but for the admin interface.
+Comme @code{max-workers} mais pour l'interface d'administration.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-clients
-Same as @code{max-clients} but for the admin interface.
+Comme @code{max-clients} mais pour l'interface d'administration.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-queued-clients
-Same as @code{max-queued-clients} but for the admin interface.
+Comme @code{max-queued-clients} mais pour l'interface d'administration.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-client-requests
-Same as @code{max-client-requests} but for the admin interface.
+Comme @code{max-client-requests} mais pour l'interface d'administration.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer log-level
-Logging level. 4 errors, 3 warnings, 2 information, 1 debug.
+Niveau de journalisation. 4 : erreurs, 3 : avertissements, 2 : information,
+1 : débogage.
La valeur par défaut est @samp{3}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} string log-filters
-Logging filters.
+Filtres de journalisation.
-A filter allows to select a different logging level for a given category of
-logs The format for a filter is one of:
+Un filtre qui permet de sélectionner plusieurs niveaux de journalisation
+pour une catégorie donnée. Le format d'un filtre est :
@itemize @bullet
@item
@@ -20442,92 +21126,95 @@ x:+nom
@end itemize
-where @code{name} is a string which is matched against the category given in
-the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g.,
-"remote", "qemu", or "util.json" (the name in the filter can be a substring
-of the full category name, in order to match multiple similar categories),
-the optional "+" prefix tells libvirt to log stack trace for each message
-matching name, and @code{x} is the minimal level where matching messages
-should be logged:
+où @code{nom} est une chaîne de caractères qui correspond à la catégorie
+donnée dans @code{VIR_LOG_INIT()} au début de chaque fichier source de
+libvirt, p.@: ex.@: « remote », « qemu » ou « util.json » (le nom dans le
+filtre peut être une sous-chaîne du nom complet de la catégorie, pour
+pouvoir correspondre à plusieurs catégories similaires), le préfixe
+facultatif « + » dit à libvirt d'enregistrer les traces de piles pour chaque
+message qui correspond au nom, et @code{x} est le niveau minimal des
+messages qui devraient être enregistrés :
@itemize @bullet
@item
-1: DEBUG
+1 : DEBUG
@item
-2: INFO
+2 : INFO
@item
-3: WARNING
+3 : WARNING
@item
-4: ERROR
+4 : ERROR
@end itemize
-Multiple filters can be defined in a single filters statement, they just
-need to be separated by spaces.
+On peut définir plusieurs filtres dans une seule déclaration de filtres, ils
+doivent juste être séparés par des espaces.
La valeur par défaut est @samp{"3:remote 4:event"}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} string log-outputs
-Logging outputs.
+Sorties de débogage.
-An output is one of the places to save logging information The format for an
-output can be:
+Une sortie est l'un des endroits où les journaux sont enregistrés. Le
+format d'une sortie peut être :
@table @code
@item x:stderr
-output goes to stderr
+la sortie va vers stderr
-@item x:syslog:name
-use syslog for the output and use the given name as the ident
+@item x:syslog:nom
+utilise syslog comme sortie et utilise le nom donné comme identifiant
-@item x:file:file_path
-output to a file, with the given filepath
+@item x:file:chemin_fichier
+la sortie va vers un fichier, avec le chemin donné
@item x:journald
-output to journald logging system
+la sortie va vers le système de journalisation journald
@end table
-In all case the x prefix is the minimal level, acting as a filter
+Dans tous les cas, le préfixe x est le niveau minimal, qui agit comme un
+filtre
@itemize @bullet
@item
-1: DEBUG
+1 : DEBUG
@item
-2: INFO
+2 : INFO
@item
-3: WARNING
+3 : WARNING
@item
-4: ERROR
+4 : ERROR
@end itemize
-Multiple outputs can be defined, they just need to be separated by spaces.
+Plusieurs sorties peuvent être définies, elles doivent juste être séparées
+par des espaces.
La valeur par défaut est @samp{"3:stderr"}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer audit-level
-Allows usage of the auditing subsystem to be altered
+Permet de modifier l'utilisation du sous-système d'audit.
@itemize @bullet
@item
-0: disable all auditing
+0 : désactive tout audit
@item
-1: enable auditing, only if enabled on host
+1 : active l'audit, seulement s'il est activé sur l'hôte
@item
-2: enable auditing, and exit if disabled on host.
+2 : active l'audit, et quitte s'il est désactivé sur l'hôte.
@end itemize
@@ -20536,83 +21223,84 @@ La valeur par défaut est @samp{1}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} boolean audit-logging
-Send audit messages via libvirt logging infrastructure.
+Envoie les messages d'audit via l'infrastructure de journalisation de
+libvirt
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} optional-string host-uuid
-Host UUID. UUID must not have all digits be the same.
+UUID de l'hôte. L'UUID ne doit pas avoir tous ses nombres identiques.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} string host-uuid-source
-Source to read host UUID.
+Source où lire l'UUID de l'hôte.
@itemize @bullet
@item
-@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}
+@code{smbios} : récupère l'UUID à partir de @code{dmidecode -s system-uuid}
@item
-@code{machine-id}: fetch the UUID from @code{/etc/machine-id}
+@code{machine-id} : récupère l'UUID à partir de @code{/etc/machine-id}
@end itemize
-If @code{dmidecode} does not provide a valid UUID a temporary UUID will be
-generated.
+Si @code{dmidecode} ne fournit pas un UUID valide, un UUID temporaire sera
+généré.
La valeur par défaut est @samp{"smbios"}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer keepalive-interval
-A keepalive message is sent to a client after @code{keepalive_interval}
-seconds of inactivity to check if the client is still responding. If set to
--1, libvirtd will never send keepalive requests; however clients can still
-send them and the daemon will send responses.
+Un message keepalive est envoyé au client après @code{keepalive_interval}
+secondes d'inactivité pour vérifier si le client répond toujours. Si la
+valeur est -1, libvirtd n'enverra jamais de requête keepalive ; cependant
+les clients peuvent toujours en envoyer et le démon y répondra.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer keepalive-count
-Maximum number of keepalive messages that are allowed to be sent to the
-client without getting any response before the connection is considered
-broken.
+Nombre maximum de messages keepalive qui peuvent être envoyés au client sans
+réponse avant que la connexion ne soit considérée comme cassée.
-In other words, the connection is automatically closed approximately after
-@code{keepalive_interval * (keepalive_count + 1)} seconds since the last
-message received from the client. When @code{keepalive-count} is set to 0,
-connections will be automatically closed after @code{keepalive-interval}
-seconds of inactivity without sending any keepalive messages.
+En d'autres termes, la connexion est approximativement fermée après
+@code{keepalive_interval * (keepalive_count + 1)} secondes après le dernier
+message reçu de la part du client. Lorsque @code{keepalive-count} est à 0,
+les connexions seront automatiquement fermées après
+@code{keepalive-interval} secondes d'inactivité sans envoyer le moindre
+message keepalive.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-keepalive-interval
-Same as above but for admin interface.
+Comme précédemment, mais pour l'interface d'administration.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-keepalive-count
-Same as above but for admin interface.
+Comme précédemment, mais pour l'interface d'administration.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{libvirt-configuration}} integer ovs-timeout
-Timeout for Open vSwitch calls.
+Délai d'attente pour les appels Open vSwitch.
-The @code{ovs-vsctl} utility is used for the configuration and its timeout
-option is set by default to 5 seconds to avoid potential infinite waits
-blocking libvirt.
+L'utilitaire @code{ovs-vsctl} est utilisé pour la configuration et son
+option de délai d'attente est à 5 secondes pour éviter qu'une attente
+infinie ne bloque libvirt.
La valeur par défaut est @samp{5}.
@@ -20621,18 +21309,18 @@ La valeur par défaut est @samp{5}.
@c %end of autogenerated docs
@subsubheading démon Virrlog
-The virtlogd service is a server side daemon component of libvirt that is
-used to manage logs from virtual machine consoles.
+Le service virtlogd est un démon côté serveur qui fait partie de libvirt,
+utilisé pour gérer les journaux des consoles des machines virtuelles.
-This daemon is not used directly by libvirt client applications, rather it
-is called on their behalf by @code{libvirtd}. By maintaining the logs in a
-standalone daemon, the main @code{libvirtd} daemon can be restarted without
-risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec()
-itself upon receiving @code{SIGUSR1}, to allow live upgrades without
-downtime.
+Ce démon n'est pas utilisé directement par les clients libvirt, mais il est
+appelé pour eux par @code{libvirtd}. En maintenant les journaux dans un
+démon séparé, le démon @code{libvirtd} principal peut être redémarré sans
+risque de perte de journaux. Le démon @code{virtlogd} a la possibilité de
+ré-exécuter exec() sur lui-même quand il reçoit @code{SIGUSR1}, pour
+permettre des mises à jour à chaux sans temps mort.
@deffn {Variable Scheme} virtlog-service-type
-This is the type of the virtlog daemon. Its value must be a
+Le type de service pour le démon virtlogd. Sa valeur doit être un
@code{virtlog-configuration}.
@example
@@ -20643,17 +21331,18 @@ This is the type of the virtlog daemon. Its value must be a
@end deffn
@deftypevr {paramètre de @code{virtlog-configuration}} integer log-level
-Logging level. 4 errors, 3 warnings, 2 information, 1 debug.
+Niveau de journalisation. 4 : erreurs, 3 : avertissements, 2 : information,
+1 : débogage.
La valeur par défaut est @samp{3}.
@end deftypevr
@deftypevr {paramètre de @code{virtlog-configuration}} string log-filters
-Logging filters.
+Filtres de journalisation.
-A filter allows to select a different logging level for a given category of
-logs The format for a filter is one of:
+Un filtre qui permet de sélectionner plusieurs niveaux de journalisation
+pour une catégorie donnée. Le format d'un filtre est :
@itemize @bullet
@item
@@ -20664,75 +21353,78 @@ x:+nom
@end itemize
-where @code{name} is a string which is matched against the category given in
-the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g.,
-"remote", "qemu", or "util.json" (the name in the filter can be a substring
-of the full category name, in order to match multiple similar categories),
-the optional "+" prefix tells libvirt to log stack trace for each message
-matching name, and @code{x} is the minimal level where matching messages
-should be logged:
+où @code{nom} est une chaîne de caractères qui correspond à la catégorie
+donnée dans @code{VIR_LOG_INIT()} au début de chaque fichier source de
+libvirt, p.@: ex.@: « remote », « qemu » ou « util.json » (le nom dans le
+filtre peut être une sous-chaîne du nom complet de la catégorie, pour
+pouvoir correspondre à plusieurs catégories similaires), le préfixe
+facultatif « + » dit à libvirt d'enregistrer les traces de piles pour chaque
+message qui correspond au nom, et @code{x} est le niveau minimal des
+messages qui devraient être enregistrés :
@itemize @bullet
@item
-1: DEBUG
+1 : DEBUG
@item
-2: INFO
+2 : INFO
@item
-3: WARNING
+3 : WARNING
@item
-4: ERROR
+4 : ERROR
@end itemize
-Multiple filters can be defined in a single filters statement, they just
-need to be separated by spaces.
+On peut définir plusieurs filtres dans une seule déclaration de filtres, ils
+doivent juste être séparés par des espaces.
La valeur par défaut est @samp{"3:remote 4:event"}.
@end deftypevr
@deftypevr {paramètre de @code{virtlog-configuration}} string log-outputs
-Logging outputs.
+Sorties de débogage.
-An output is one of the places to save logging information The format for an
-output can be:
+Une sortie est l'un des endroits où les journaux sont enregistrés. Le
+format d'une sortie peut être :
@table @code
@item x:stderr
-output goes to stderr
+la sortie va vers stderr
-@item x:syslog:name
-use syslog for the output and use the given name as the ident
+@item x:syslog:nom
+utilise syslog comme sortie et utilise le nom donné comme identifiant
-@item x:file:file_path
-output to a file, with the given filepath
+@item x:file:chemin_fichier
+la sortie va vers un fichier, avec le chemin donné
@item x:journald
-output to journald logging system
+la sortie va vers le système de journalisation journald
@end table
-In all case the x prefix is the minimal level, acting as a filter
+Dans tous les cas, le préfixe x est le niveau minimal, qui agit comme un
+filtre
@itemize @bullet
@item
-1: DEBUG
+1 : DEBUG
@item
-2: INFO
+2 : INFO
@item
-3: WARNING
+3 : WARNING
@item
-4: ERROR
+4 : ERROR
@end itemize
-Multiple outputs can be defined, they just need to be separated by spaces.
+Plusieurs sorties peuvent être définies, elles doivent juste être séparées
+par des espaces.
La valeur par défaut est @samp{"3:stderr"}.
@@ -20746,14 +21438,14 @@ La valeur par défaut est @samp{1024}.
@end deftypevr
@deftypevr {paramètre de @code{virtlog-configuration}} integer max-size
-Maximum file size before rolling over.
+Taille de fichier maximale avant roulement.
La valeur par défaut est @samp{2MB}.
@end deftypevr
@deftypevr {paramètre de @code{virtlog-configuration}} integer max-backups
-Maximum number of backup files to keep.
+Nombre maximal de fichiers de sauvegardes à garder.
La valeur par défaut est @samp{3}.
@@ -20763,16 +21455,17 @@ La valeur par défaut est @samp{3}.
@cindex émulation
@cindex @code{binfmt_misc}
-@code{qemu-binfmt-service-type} provides support for transparent emulation
-of program binaries built for different architectures---e.g., it allows you
-to transparently execute an ARMv7 program on an x86_64 machine. It achieves
-this by combining the @uref{https://www.qemu.org, QEMU} emulator and the
-@code{binfmt_misc} feature of the kernel Linux.
+@code{qemu-binfmt-service-type} fournit le support de l'émulation
+transparente de binaires construits pour des architectures différentes —
+p.@: ex.@: il permet d'exécuter de manière transparente des programmes ARMv
+sur une machine x86_64. Cela se fait en combinant l'émulateur
+@uref{https://www.qemu.org, QEMU} et la fonctionnalité @code{binfmt_misc} du
+noyau Linux.
@defvr {Variable Scheme} qemu-binfmt-service-type
-This is the type of the QEMU/binfmt service for transparent emulation. Its
-value must be a @code{qemu-binfmt-configuration} object, which specifies the
-QEMU package to use as well as the architecture we want to emulated:
+Le type du service QEMU/binfmt pour l'émulation transparente. Sa valeur
+doit être un objet @code{qemu-binfmt-configuration}, qui spécifie le paquet
+QEMU à utiliser ainsi que l'architecture que vous voulez émuler :
@example
(service qemu-binfmt-service-type
@@ -20780,29 +21473,30 @@ QEMU package to use as well as the architecture we want to emulated:
(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc"))))
@end example
-In this example, we enable transparent emulation for the ARM and aarch64
-platforms. Running @code{herd stop qemu-binfmt} turns it off, and running
-@code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the
+Dans cet exemple, on active l'émulation transparente pour les plateformes
+ARM et aarch64. Lancer @code{herd stop qemu-binfmt} l'éteint et lancer
+@code{herd start qemu-binfmt} le rallume (@pxref{Invoking herd, the
@command{herd} command,, shepherd, The GNU Shepherd Manual}).
@end defvr
@deftp {Type de données} qemu-binfmt-configuration
-This is the configuration for the @code{qemu-binfmt} service.
+La configuration du service @code{qemu-binfmt}.
@table @asis
@item @code{platforms} (par défaut : @code{'()})
-The list of emulated QEMU platforms. Each item must be a @dfn{platform
-object} as returned by @code{lookup-qemu-platforms} (see below).
+La liste des plates-formes émulées par QEMU. Chaque élément doit être un
+objet @dfn{platform object} tel que renvoyé par @code{lookup-qemu-platforms}
+(voir plus bas).
@item @code{guix-support?} (par défaut : @code{#f})
-When it is true, QEMU and all its dependencies are added to the build
-environment of @command{guix-daemon} (@pxref{Invoquer guix-daemon,
-@code{--chroot-directory} option}). This allows the @code{binfmt_misc}
-handlers to be used within the build environment, which in turn means that
-you can transparently build programs for another architecture.
+Lorsque la valeur est vraie, QEMU et toutes ses dépendances sont ajoutés à
+l'environnement de construction de @command{guix-daemon} (@pxref{Invoquer guix-daemon, @code{--chroot-directory} option}). Cela permet d'utiliser les
+gestionnaires @code{binfmt_misc} dans l'environnement de cosntruction, ce
+qui signifie que vous pouvez construire des programmes pour d'autres
+architectures de manière transparente.
-For example, let's suppose you're on an x86_64 machine and you have this
-service:
+Par exemple, supposons que vous soyez sur une machine x86_64 et que vous
+avez ce services :
@example
(service qemu-binfmt-service-type
@@ -20818,9 +21512,10 @@ guix build -s armhf-linux inkscape
@end example
@noindent
-and it will build Inkscape for ARMv7 @emph{as if it were a native build},
-transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd
-like to test a package build for an architecture you don't have access to!
+et cela construira Inkscape pour ARMv7 @emph{comme s'il s'agissait d'une
+construction native}, de manière transparente avec QEMU pour émuler un CPU
+ARMv7. Plutôt pratique si vous voulez tester un paquet construit pour une
+architecture à laquelle vous n'avez pas accès !
@item @code{qemu} (par défaut : @code{qemu})
Le paquet QEMU à utiliser.
@@ -20828,131 +21523,135 @@ Le paquet QEMU à utiliser.
@end deftp
@deffn {Procédure Scheme} lookup-qemu-platforms @var{platforms}@dots{}
-Return the list of QEMU platform objects corresponding to
-@var{platforms}@dots{}. @var{platforms} must be a list of strings
-corresponding to platform names, such as @code{"arm"}, @code{"sparc"},
-@code{"mips64el"}, and so on.
+Renvoie la liste des objets de plates-formes QEMU correspondant à
+@var{platforms}@dots{}. @var{platforms} doit être une liste de chaînes de
+caractères correspondant aux noms de plates-formes, comme @code{"arm"},
+@code{"sparc"}, @code{"mips64el"} etc.
@end deffn
@deffn {Procédure Scheme} qemu-platform? @var{obj}
-Return true if @var{obj} is a platform object.
+Renvoie vrai s i@var{obj} est un objet de plate-forme.
@end deffn
@deffn {Procédure Scheme} qemu-platform-name @var{platform}
-Return the name of @var{platform}---a string such as @code{"arm"}.
+Renvoie le nom de @var{platform} — une chaîne comme @code{"arm"}.
@end deffn
@node Services de contrôle de version
-@subsubsection Services de contrôle de version
+@subsection Services de contrôle de version
-The @code{(gnu services version-control)} module provides a service to allow
-remote access to local Git repositories. There are three options: the
-@code{git-daemon-service}, which provides access to repositories via the
-@code{git://} unsecured TCP-based protocol, extending the @code{nginx} web
-server to proxy some requests to @code{git-http-backend}, or providing a web
-interface with @code{cgit-service-type}.
+Le module @code{(gnu services version-control)} fournit un service pour
+permettre l'accès à distance à des dépôts Git locaux. Il y a trois options
+: en utilisant @code{git-daemon-service} qui fournit un accès aux dépôts via
+le protocole non sécurisé @code{git://} basé sur TCP, en étendant le serveur
+web @code{nginx} pour relayer les requêtes vers @code{git-http-backend} ou
+en fournissant une interface web avec @code{cgit-service-type}.
@deffn {Procédure Scheme} git-daemon-service [#:config (git-daemon-configuration)]
-Return a service that runs @command{git daemon}, a simple TCP server to
-expose repositories over the Git protocol for anonymous access.
+Renvoie un service qui lance @command{git daemon}, un serveur TCP simple
+pour exposer des dépôts sur le protocole Git pour des accès anonymes.
-The optional @var{config} argument should be a
-@code{<git-daemon-configuration>} object, by default it allows read-only
-access to exported@footnote{By creating the magic file
-"git-daemon-export-ok" in the repository directory.} repositories under
-@file{/srv/git}.
+L'argument facultatif @var{config} devrait être un objet
+@code{<git-daemon-configuration>}, par défaut il permet l'accès en
+lecture-seule aux dépôts exportés@footnote{En créant le fichier magique «
+git-daemon-export-ok » dans le répertoire du dépôt.} dans @file{/srv/git}.
@end deffn
@deftp {Type de données} git-daemon-configuration
-Data type representing the configuration for @code{git-daemon-service}.
+Type de données représentnt la configuration de @code{git-daemon-service}.
@table @asis
@item @code{package} (par défaut : @var{git})
-Package object of the Git distributed version control system.
+Objet de paquet du système de contrôle de version distribué Git.
@item @code{export-all?} (par défaut : @var{#f})
-Whether to allow access for all Git repositories, even if they do not have
-the @file{git-daemon-export-ok} file.
+Indique s'il faut permettre l'accès à tous les dépôts Git, même s'ils n'ont
+pas le fichier @file{git-daemon-export-ok}.
@item @code{base-path} (par défaut : @file{/srv/git})
-Whether to remap all the path requests as relative to the given path. If
-you run git daemon with @var{(base-path "/srv/git")} on example.com, then if
-you later try to pull @code{git://example.com/hello.git}, git daemon will
-interpret the path as @code{/srv/git/hello.git}.
+Indique s'il faut traduire toutes les requêtes de chemins relativement au
+chemin actuel. Si vous lancez le démon git avec @var{(base-path
+"/srv/git")} sur example.com, si vous essayez ensuite de récupérer
+@code{git://example.com/hello.git}, le démon git interprétera ce chemin
+comme étant @code{/srv/git/hello.git}.
@item @code{user-path} (par défaut : @var{#f})
-Whether to allow @code{~user} notation to be used in requests. When
-specified with empty string, requests to @code{git://host/~alice/foo} is
-taken as a request to access @code{foo} repository in the home directory of
-user @code{alice}. If @var{(user-path "path")} is specified, the same
-request is taken as a request to access @code{path/foo} repository in the
-home directory of user @code{alice}.
+Indique s'il faut permettre la notation @code{~user} dans les requêtes.
+Lorsque spécifié avec une chaîne vide, les requêtes à
+@code{git://host/~alice/foo} sont des requêtes d'accès au dépôt @code{foo}
+dans le répertoire personnel de l'utilisateur @code{alice}. Si
+@var{(user-path "chemin")} est spécifié, la même requête est interprétée
+comme accédant au répertoire @code{chemin/foo} dans le répertoire personnel
+de l'utilisateur @code{alice}.
@item @code{listen} (par défaut : @var{'()})
-Whether to listen on specific IP addresses or hostnames, defaults to all.
+Indique s'il faut écouter sur des adresses IP ou des noms d'hôtes
+particuliers, par défaut tous.
@item @code{port} (par défaut : @var{#f})
-Whether to listen on an alternative port, which defaults to 9418.
+Indique s'il faut écouter sur un port particulier, par défaut le 9418.
@item @code{whitelist} (par défaut : @var{'()})
-If not empty, only allow access to this list of directories.
+Si la liste n'est pas vide, n'autoriser l'accès qu'aux dossiers spécifiés.
@item @code{extra-options} (par défaut : @var{'()})
-Extra options will be passed to @code{git daemon}, please run @command{man
-git-daemon} for more information.
+Options supplémentaires qui seront passées à @code{git daemon}, lancez
+@command{man git-daemon} pour plus d'informations.
@end table
@end deftp
-The @code{git://} protocol lacks authentication. When you pull from a
-repository fetched via @code{git://}, you don't know that the data you
-receive was modified is really coming from the specified host, and you have
-your connection is subject to eavesdropping. It's better to use an
-authenticated and encrypted transport, such as @code{https}. Although Git
-allows you to serve repositories using unsophisticated file-based web
-servers, there is a faster protocol implemented by the
-@code{git-http-backend} program. This program is the back-end of a proper
-Git web service. It is designed to sit behind a FastCGI proxy. @xref{Services web}, for more on running the necessary @code{fcgiwrap} daemon.
-
-Guix has a separate configuration data type for serving Git repositories
-over HTTP.
+Le protocole @code{git://} ne permet pas l'authentification. Lorsque vous
+récupérez un dépôt via @code{git://}, vous ne pouvez pas savoir si les
+données que vous recevez ont été modifiées ou si elles viennent bien de
+l'hôte spécifié, et votre connexion pourrait être espionnée. Il est
+préférable d'utiliser un protocole de transport authentifié et chiffré,
+comme @code{https}. Bien que Git vous permette de servir des dépôts avec un
+serveur web peu sophistiqué basé sur les fichiers, il y a un protocole plus
+rapide implémenté par le programme @code{git-http-backend}. Ce programme
+est le moteur des services web Git corrects. Il est conçu pour se trouver
+derrière un mandataire FastCGI. @xref{Services web} pour plus
+d'informations sur la manière de lancer le démon @code{fcgiwrap} nécessaire.
+
+Guix a un type de données de configuration séparé pour servir des dépôts Git
+par HTTP.
@deftp {Type de données} git-http-configuration
-Data type representing the configuration for @code{git-http-service}.
+Type de données représentant la configuration de @code{git-http-service}.
@table @asis
@item @code{package} (par défaut : @var{git})
-Package object of the Git distributed version control system.
+Objet de paquet du système de contrôle de version distribué Git.
@item @code{git-root} (par défaut : @file{/srv/git})
-Directory containing the Git repositories to expose to the world.
+Répertoire contenant les dépôts Git à exposer au monde.
@item @code{export-all?} (par défaut : @var{#f})
-Whether to expose access for all Git repositories in @var{git-root}, even if
-they do not have the @file{git-daemon-export-ok} file.
+Indique s'il faut exposer l'accès de tous les dépôts Git dans
+@var{git-root}, même s'ils n'ont pas le fichier @file{git-daemon-export-ok}.
@item @code{uri-path} (par défaut : @file{/git/})
-Path prefix for Git access. With the default @code{/git/} prefix, this will
-map @code{http://@var{server}/git/@var{repo}.git} to
-@code{/srv/git/@var{repo}.git}. Requests whose URI paths do not begin with
-this prefix are not passed on to this Git instance.
+Préfixe du chemin pour l'accès Git. Avec le préfixe @code{/git/} par
+défaut, cela traduira @code{http://@var{server}/git/@var{repo}.git} en
+@code{/sr/git/@var{repo}.git}. Les requêtes dont les chemins d'URI ne
+commencent pas par ce préfixe ne seront pas passées à cette instance de Git.
@item @code{fcgiwrap-socket} (par défaut : @code{127.0.0.1:9000})
-The socket on which the @code{fcgiwrap} daemon is listening. @xref{Services web}.
+Le socket sur lequel le démon @code{fcgiwrap} écoute. @xref{Services web}.
@end table
@end deftp
-There is no @code{git-http-service-type}, currently; instead you can create
-an @code{nginx-location-configuration} from a @code{git-http-configuration}
-and then add that location to a web server.
+Il n'y a pas de @code{git-http-service-type}, actuellement ; à la place vous
+pouvez créer un @code{nginx-location-configuration} à partir d'un
+@code{git-http-configuration} puis ajouter cela au serveur web.
@deffn {Procédure Scheme} git-http-nginx-location-configuration @
- [config=(git-http-configuration)] Compute an
-@code{nginx-location-configuration} that corresponds to the given Git http
-configuration. An example nginx service definition to serve the default
-@file{/srv/git} over HTTPS might be:
+ [config=(git-http-configuration)]
+Calcule un @code{nginx-location-configuration} qui correspond à la
+configuration http Git donnée. Voici un exemple de définition de service
+nginx qui sert le répertoire @file{/srv/git} par défaut en HTTPS :
@example
(service nginx-service-type
@@ -20972,11 +21671,11 @@ configuration. An example nginx service definition to serve the default
(git-http-configuration (uri-path "/"))))))))))
@end example
-This example assumes that you are using Let's Encrypt to get your TLS
-certificate. @xref{Services de certificats}. The default @code{certbot}
-service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS.
-You will also need to add an @code{fcgiwrap} proxy to your system services.
-@xref{Services web}.
+Ce exemple suppose que vous utilisez Let's Encrypt pour récupérer votre
+certificat TLS. @xref{Services de certificats}. Le service @code{certbot} par
+défaut redirigera tout le trafic HTTP de @code{git.my-host.org} en HTTPS.
+Vous devrez aussi ajouter un mandataire @code{fcgiwrap} à vos services
+systèmes. @xref{Services web}.
@end deffn
@subsubheading Service Cgit
@@ -20986,15 +21685,15 @@ You will also need to add an @code{fcgiwrap} proxy to your system services.
@uref{https://git.zx2c4.com/cgit/, Cgit} est une interface web pour des
dépôts Git écrite en C.
-The following example will configure the service with default values. By
-default, Cgit can be accessed on port 80 (@code{http://localhost:80}).
+L'exemple suivant configurera le service avec les valeurs par défaut. Par
+défaut, on peut accéder à Cgit sur le port (@code{http://localhost:80}).
@example
(service cgit-service-type)
@end example
-The @code{file-object} type designates either a file-like object
-(@pxref{G-Expressions, file-like objects}) or a string.
+Le type @code{file-object} désigne soit un objet simili-fichier
+(@pxref{G-Expressions, file-like objects}), soit une chaîne.
@c %start of fragment
@@ -21011,276 +21710,278 @@ Configuration Nginx.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object about-filter
-Specifies a command which will be invoked to format the content of about
-pages (both top-level and for each repository).
+Spécifie une commande qui doit être invoquée pour formater le contenu des
+pages « à propos » (au plus haut niveau et pour chaque dépôt).
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string agefile
-Specifies a path, relative to each repository path, which can be used to
-specify the date and time of the youngest commit in the repository.
+Spécifie un chemin, relativement à chaque dépôt, qui peut être utilisé pour
+spécifier la date et l'heure du plus récent commit du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object auth-filter
-Specifies a command that will be invoked for authenticating repository
-access.
+Spécifie une commande qui sera invoquée pour authentifier l'accès au dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string branch-sort
-Flag which, when set to @samp{age}, enables date ordering in the branch ref
-list, and when set @samp{name} enables ordering by branch name.
+Drapeau qui, lorsqu'il vaut @samp{age}, active le trie par date dans la
+liste des branches, et le trie par nom lorsqu'il vaut @samp{name}.
La valeur par défaut est @samp{"name"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string cache-root
-Path used to store the cgit cache entries.
+Chemin utilisé pour stocker les entrées de cache de cgit.
La valeur par défaut est @samp{"/var/cache/cgit"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-static-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of repository pages accessed with a fixed SHA1.
+Nombre qui spécifie le temps de vie, en minute, des versions en cache des
+pages du dépôt accédées par leur SHA-1.
La valeur par défaut est @samp{-1}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-dynamic-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of repository pages accessed without a fixed SHA1.
+Nombre qui spécifie le temps de vie, en minutes, des version en cache des
+pages du dépôt accédées sans leur SHA1.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-repo-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of the repository summary page.
+Nombre qui spécifie le temps de vie, en minute, des version en cache de la
+page de résumé du dépôt.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-root-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of the repository index page.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache de
+la page d'index du dépôt.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-scanrc-ttl
-Number which specifies the time-to-live, in minutes, for the result of
-scanning a path for Git repositories.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache du
+résultat du scan d'un chemin dans le dépôt Git.
La valeur par défaut est @samp{15}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-about-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of the repository about page.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache de
+la page « à propos » du dépôt.
La valeur par défaut est @samp{15}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-snapshot-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of snapshots.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache des
+archives.
La valeur par défaut est @samp{5}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer cache-size
-The maximum number of entries in the cgit cache. When set to @samp{0},
-caching is disabled.
+Le nombre maximum d'entrées dans le cache de cgit. Lorsque la valeur est
+@samp{0}, le cache est désactivé.
La valeur par défaut est @samp{0}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean case-sensitive-sort?
-Sort items in the repo list case sensitively.
+Indique si le tri des éléments est sensible à la casse.
La valeur par défaut est @samp{#t}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} list clone-prefix
-List of common prefixes which, when combined with a repository URL,
-generates valid clone URLs for the repository.
+Liste des préfixes communs qui, lorsqu'ils sont combinés à l'URL du dépôt,
+génèrent des URL de clone valides pour le dépôt.
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} list clone-url
-List of @code{clone-url} templates.
+Liste des modèles @code{clone-url}
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object commit-filter
-Command which will be invoked to format commit messages.
+Commande qui sera invoquée pour formater les messages de commit.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string commit-sort
-Flag which, when set to @samp{date}, enables strict date ordering in the
-commit log, and when set to @samp{topo} enables strict topological ordering.
+Drapeau qui, s'il vaut @samp{date}, active le tri par date strict dans le
+messages de commit, et le tri topologique strict lorsqu'il vaut @samp{topo}.
La valeur par défaut est @samp{"git log"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object css
-URL which specifies the css document to include in all cgit pages.
+URL qui spécifie le document css à inclure dans les pages cgit.
La valeur par défaut est @samp{"/share/cgit/cgit.css"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object email-filter
-Specifies a command which will be invoked to format names and email address
-of committers, authors, and taggers, as represented in various places
-throughout the cgit interface.
+Spécifie une commande qui sera invoquée pour formater les noms et l'adresse
+de courriel des commiteurs, des auteurs et des taggueurs, représentés à
+plusieurs endroits dans l'interface cgit.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean embedded?
-Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment
-suitable for embedding in other HTML pages.
+Drapeau qui, s'il vaut @samp{#t}, fera générer un fragment HTML à cgit qu'il
+sera possible d'inclure dans d'autres pages HTML.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-commit-graph?
-Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit
-history graph to the left of the commit messages in the repository log page.
+Drapeau qui, lorsqu'il vaut @samp{#t}, fera afficher un historique en
+ASCII-art à gauche des messages de commit dans la page de log du dépôt.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-filter-overrides?
-Flag which, when set to @samp{#t}, allows all filter settings to be
-overridden in repository-specific cgitrc files.
+Drapeau qui, lorsqu'il vaut @samp{#t}, permet à tous les paramètres de
+filtrage d'être modifiés dans des fichiers cgitrc spécifiques au dépôt.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-follow-links?
-Flag which, when set to @samp{#t}, allows users to follow a file in the log
-view.
+Drapeau qui, s'il vaut @samp{#t}, permet aux utilisateurs de suivre un
+fichier dans la vue « log ».
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-http-clone?
-If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones.
+Si la valeur est @samp{#t}, cgit agira comme un point d'accès HTTP idiot
+pour les clones Git.
La valeur par défaut est @samp{#t}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-index-links?
-Flag which, when set to @samp{#t}, will make cgit generate extra links
-"summary", "commit", "tree" for each repo in the repository index.
+Drapeau qui, s'il vaut @samp{#t}, fera générer des liens « résumé », «
+commit » et « arborescence » supplémentaires poru chaque dépôt dans l'index
+des dépôts.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-index-owner?
-Flag which, when set to @samp{#t}, will make cgit display the owner of each
-repo in the repository index.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher le propriétaire de chaque
+dépôt dans l'index des dépôts.
La valeur par défaut est @samp{#t}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-log-filecount?
-Flag which, when set to @samp{#t}, will make cgit print the number of
-modified files for each commit on the repository log page.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de fichiers
+modifiés pour chaque commit sur la page de log du dépôt.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-log-linecount?
-Flag which, when set to @samp{#t}, will make cgit print the number of added
-and removed lines for each commit on the repository log page.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de lignes
+ajoutées et enlevées pour chaque commit de la page de log du dépôt.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-remote-branches?
-Flag which, when set to @code{#t}, will make cgit display remote branches in
-the summary and refs views.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher les branches distantes dans
+les vues du résumé et des références.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-subject-links?
-Flag which, when set to @code{1}, will make cgit use the subject of the
-parent commit as link text when generating links to parent commits in commit
-view.
+Drapeau qui, s'il vaut @samp{1}, fera utiliser à cgit le sujet du commit
+parent comme texte du lien lors de la génération des liens vers les commits
+parents dans la vue des commits.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-html-serving?
-Flag which, when set to @samp{#t}, will make cgit use the subject of the
-parent commit as link text when generating links to parent commits in commit
-view.
+Drapeau qui, s'il vaut @samp{#t}, fera utiliser à cgit l esujet du commit
+parent comme texte du lien lors de la génération des liens vers le commit
+parent dans la vue des commits.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-tree-linenumbers?
-Flag which, when set to @samp{#t}, will make cgit generate linenumber links
-for plaintext blobs printed in the tree view.
+Drapeau qui, s'il vaut @samp{#t}, fera générer à cgit des liens vers le
+numéro de ligne pour les blobs en texte brut affichés dans la vue de
+l'arborescence.
La valeur par défaut est @samp{#t}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-git-config?
-Flag which, when set to @samp{#f}, will allow cgit to use Git config to set
-any repo specific settings.
+Drapeau qui, s'il vaut @samp{#t}, permettra à cgit d'utiliser la
+configuration Git pour spécifier des paramètres spécifiques au dépôt.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object favicon
-URL used as link to a shortcut icon for cgit.
+URL utilisée comme lien vers un icône pour cgit.
La valeur par défaut est @samp{"/favicon.ico"}.
@@ -21296,129 +21997,131 @@ La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string head-include
-The content of the file specified with this option will be included verbatim
-in the HTML HEAD section on all pages.
+Le contenu du fichier spécifié dans cette option sera inclus directement
+dans la section HEAD HTML de toutes les pages.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string header
-The content of the file specified with this option will be included verbatim
-at the top of all pages.
+Le contenu du fichier spécifié avec cette option sera inclus directement au
+début de toutes les pages.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object include
-Name of a configfile to include before the rest of the current config- file
-is parsed.
+Nom d'un fichier de configuration à inclure avant que le reste du fichier de
+configuration actuel ne soit analysé.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string index-header
-The content of the file specified with this option will be included verbatim
-above the repository index.
+Le contenu du fichier spécifié avec cette option sera inclus directement au
+dessus de l'index des dépôts.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string index-info
-The content of the file specified with this option will be included verbatim
-below the heading on the repository index page.
+Le contenu du fichier spécifié avec cette option sera inclus directement en
+dessous de l'en-tête sur la page d'index du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean local-time?
-Flag which, if set to @samp{#t}, makes cgit print commit and tag times in
-the servers timezone.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit l'heure et la date de
+commit et de tag dans le fuseau horaire du serveur.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object logo
-URL which specifies the source of an image which will be used as a logo on
-all cgit pages.
+URL qui spécifie la source d'une image utilisé comme logo sur toutes les
+pages cgit.
La valeur par défaut est @samp{"/share/cgit/cgit.png"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string logo-link
-URL loaded when clicking on the cgit logo image.
+URL chargée lors du clic sur l'image du logo de cgit.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object owner-filter
-Command which will be invoked to format the Owner column of the main page.
+Commande qui sera invoquée pour formater la colonne propriétaire sur la page
+principale.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer max-atom-items
-Number of items to display in atom feeds view.
+Nombre d'éléments à afficher dans la vue des flux atom.
La valeur par défaut est @samp{10}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer max-commit-count
-Number of entries to list per page in "log" view.
+Nombre d'éléments à lister par page dans la vue « log ».
La valeur par défaut est @samp{50}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer max-message-length
-Number of commit message characters to display in "log" view.
+Nombre caractères de messages de commit à afficher dans la vue « log ».
La valeur par défaut est @samp{80}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer max-repo-count
-Specifies the number of entries to list per page on the repository index
-page.
+Spécifie le nombre d'éléments à lister par page sur la page de l'index des
+dépôts.
La valeur par défaut est @samp{50}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer max-repodesc-length
-Specifies the maximum number of repo description characters to display on
-the repository index page.
+Spécifie le nombre maximum de caractères de description de dépôts à afficher
+sur la page d'index des dépôts.
La valeur par défaut est @samp{80}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer max-blob-size
-Specifies the maximum size of a blob to display HTML for in KBytes.
+Spécifie la taille maximale d'un blob pour lequel afficher du HTML en
+kilo-octets.
La valeur par défaut est @samp{0}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string max-stats
-Maximum statistics period. Valid values are @samp{week},@samp{month},
-@samp{quarter} and @samp{year}.
+Période de statistiques maximale. Les valeurs valides sont @samp{week},
+@samp{month}, @samp{quarter} et @samp{year}.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} mimetype-alist mimetype
-Mimetype for the specified filename extension.
+Type mime pour l'extension de fichier spécifiée.
La valeur par défaut est @samp{((gif "image/gif") (html "text/html") (jpg
"image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png "image/png")
@@ -21427,131 +22130,132 @@ La valeur par défaut est @samp{((gif "image/gif") (html "text/html") (jpg
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object mimetype-file
-Specifies the file to use for automatic mimetype lookup.
+Spécifie le fichier à utiliser pour la recherche automatique de type mime.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string module-link
-Text which will be used as the formatstring for a hyperlink when a submodule
-is printed in a directory listing.
+Texte qui sera utilisé comme chaîne de formatage pour un lien hypertexte
+lorsqu'un sous-module est affiché dans la liste du répertoire.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean nocache?
-If set to the value @samp{#t} caching will be disabled.
+Si la valeur est @samp{#t}, le cache est désactivé.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean noplainemail?
-If set to @samp{#t} showing full author email addresses will be disabled.
+Si la valeur est @samp{#t}, l'affichage des adresse de courriel des auteurs
+sera désactivé.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean noheader?
-Flag which, when set to @samp{#t}, will make cgit omit the standard header
-on all pages.
+Drapeau qui, s'il vaut @samp{#t}, fera omettre à cgit l'en-tête standard sur
+toutes les pages.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} project-list project-list
-A list of subdirectories inside of @code{repository-directory}, relative to
-it, that should loaded as Git repositories. An empty list means that all
-subdirectories will be loaded.
+UNe liste de sous-répertoires dans @code{repository-directory}, relativement
+à lui, qui devrait être chargé comme des dépôts Git. Une liste vide
+signifie que tous les sous-répertoires seront chargés.
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object readme
-Text which will be used as default value for @code{cgit-repo-readme}.
+Texte utilisé comme valeur par défaut pour @code{cgit-repo-readme}.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean remove-suffix?
-If set to @code{#t} and @code{repository-directory} is enabled, if any
-repositories are found with a suffix of @code{.git}, this suffix will be
-removed for the URL and name.
+Si la valeur est @code{#t} et que @code{repository-directory} est activé, si
+un dépôt avec un suffixe de @code{.git} est trouvé, ce suffixe sera supprimé
+de l'URL et du nom.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer renamelimit
-Maximum number of files to consider when detecting renames.
+Nombre maximum de fichiers à considérer lors de la détection des renommages.
La valeur par défaut est @samp{-1}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string repository-sort
-The way in which repositories in each section are sorted.
+La manière dont les dépôt de chaque section sont rangés.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} robots-list robots
-Text used as content for the @code{robots} meta-tag.
+Texte utilisé comme contenu du méta-attribut @code{robots}.
La valeur par défaut est @samp{("noindex" "nofollow")}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string root-desc
-Text printed below the heading on the repository index page.
+Texte affiché en dessous de l'en-tête de la page d'index des dépôts.
La valeur par défaut est @samp{"a fast webinterface for the git dscm"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string root-readme
-The content of the file specified with this option will be included verbatim
-below thef "about" link on the repository index page.
+Le contenu du fichier spécifié avec cette option sera inclus directement en
+dessous du lien « à propos » sur la page d'index du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string root-title
-Text printed as heading on the repository index page.
+Texte affiché sur la page d'index des dépôts.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean scan-hidden-path
-If set to @samp{#t} and repository-directory is enabled,
-repository-directory will recurse into directories whose name starts with a
-period. Otherwise, repository-directory will stay away from such
-directories, considered as "hidden". Note that this does not apply to the
-".git" directory in non-bare repos.
+Si la valeur est @samp{#t} et que repository-directory est activé,
+repository-directory recherchera de manière récursive dans les répertoires
+dont le nom commence par un point. Sinon, repository-directory restera hors
+de ces répertoires, considérés comme « cachés ». Remarquez que cela ne
+s'applique pas au répertoire « .git » dans le dépôts.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} list snapshots
-Text which specifies the default set of snapshot formats that cgit generates
-links for.
+Texte qui spécifie l'ensemble des formats d'archives par défaut pour
+lesquelles cgit générera un lien.
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} repository-directory repository-directory
-Name of the directory to scan for repositories (represents
+Nom du répertoire à scanner pour trouver les dépôts (représente
@code{scan-path}).
La valeur par défaut est @samp{"/srv/git"}.
@@ -21559,328 +22263,329 @@ La valeur par défaut est @samp{"/srv/git"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string section
-The name of the current repository section - all repositories defined after
-this option will inherit the current section name.
+Le nom de la section de dépôts actuelle — tous les dépôts définis après ce
+point hériterons du nom de section actuel.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string section-sort
-Flag which, when set to @samp{1}, will sort the sections on the repository
-listing by name.
+Drapeau qui, s'il vaut @samp{1}, triera les sections dans la liste des
+dépôts par nom.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer section-from-path
-A number which, if defined prior to repository-directory, specifies how many
-path elements from each repo path to use as a default section name.
+Un nombre qui, s'il est défini avant repository-directory, spécifier combien
+d'éléments de chemin de chaque chemin de dépôt utiliser comme nom de section
+par défaut.
La valeur par défaut est @samp{0}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} boolean side-by-side-diffs?
-If set to @samp{#t} shows side-by-side diffs instead of unidiffs per
-default.
+Si la valeur est @samp{#t}, afficher des diffs côte à côte au lieu des
+unidiffs par défaut.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} file-object source-filter
-Specifies a command which will be invoked to format plaintext blobs in the
-tree view.
+Spécifie une commande qui sera invoquée pour formater les blobs en texte
+brut dans la vue de l'arborescence.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer summary-branches
-Specifies the number of branches to display in the repository "summary"
-view.
+Spécifie le nombre de branches à afficher dans la vue de résumé du dépôt.
La valeur par défaut est @samp{10}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer summary-log
-Specifies the number of log entries to display in the repository "summary"
-view.
+Spécifie le nombre d'élément du journal à afficher dans la vue résumé du
+dépôt.
La valeur par défaut est @samp{10}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} integer summary-tags
-Specifies the number of tags to display in the repository "summary" view.
+Spécifie le nombre de tags à afficher dans la vue résumé du dépôt.
La valeur par défaut est @samp{10}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string strict-export
-Filename which, if specified, needs to be present within the repository for
-cgit to allow access to that repository.
+Nom de fichier qui, s'il est spécifié, doit être présent dans le dépôt pour
+que cgit accorde l'accès à ce dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} string virtual-root
-URL which, if specified, will be used as root for all cgit links.
+URL qui, si elle est spécifiée, sera utilisée comme racine pour tous les
+liens cgit.
La valeur par défaut est @samp{"/"}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} repository-cgit-configuration-list repositories
-A list of @dfn{cgit-repo} records to use with config.
+Une liste d'enregistrements @dfn{cgit-repo} à utiliser avec config.
La valeur par défaut est @samp{()}.
Les champs de @code{repository-cgit-configuration} disponibles sont :
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list snapshots
-A mask of snapshot formats for this repo that cgit generates links for,
-restricted by the global @code{snapshots} setting.
+Un masque de formats d'archives pour ce dépôt pour lesquelles cgit générera
+un lien, restreint par le paramètre @code{snapshots} global.
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object source-filter
-Override the default @code{source-filter}.
+Modifie le @code{source-filter} par défaut.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string url
-The relative URL used to access the repository.
+URL relative utilisée pour accéder au dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object about-filter
-Override the default @code{about-filter}.
+Modifie le paramètre @code{about-filter} par défaut.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string branch-sort
-Flag which, when set to @samp{age}, enables date ordering in the branch ref
-list, and when set to @samp{name} enables ordering by branch name.
+Drapeau qui, s'il vaut @samp{age}, active le tri par date dans la liste des
+branches, et lorsqu'il vaut @samp{name}, le tri par nom.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list clone-url
-A list of URLs which can be used to clone repo.
+Un liste d'URL qui peuvent être utilisées pour cloner ce dépôt.
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object commit-filter
-Override the default @code{commit-filter}.
+Modifie le paramètre @code{commit-filter} par défaut.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string commit-sort
-Flag which, when set to @samp{date}, enables strict date ordering in the
-commit log, and when set to @samp{topo} enables strict topological ordering.
+Drapeau qui, s'il vaut @samp{date}, active le tri par date strict dans le
+messages de commit, et le tri topologique strict lorsqu'il vaut @samp{topo}.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string defbranch
-The name of the default branch for this repository. If no such branch
-exists in the repository, the first branch name (when sorted) is used as
-default instead. By default branch pointed to by HEAD, or "master" if there
-is no suitable HEAD.
+Le nom de la branche par défaut de ce dépôt. Si cette branche n'existe pas
+dans le dépôt, le premier nom de branche (trié) sera utilisé par défaut.
+Par défaut la branche pointée par HEAD, ou « master » s'il n'y a pas de HEAD
+convenable.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string desc
-The value to show as repository description.
+La valeur à afficher comme description du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string homepage
-The value to show as repository homepage.
+La valeur à afficher comme page d'accueil du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object email-filter
-Override the default @code{email-filter}.
+Modifie le paramètre @code{email-filter} par défaut.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean enable-commit-graph?
-A flag which can be used to disable the global setting
-@code{enable-commit-graph?}.
+Un drapeau qui peut être utilisé pour désactiver le paramètre
+@code{enable-commit-graph?} global.
La valeur par défaut est @samp{disabled}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean enable-log-filecount?
-A flag which can be used to disable the global setting
-@code{enable-log-filecount?}.
+Un drapeau qui peut être utilisé pour désactiver le paramètre
+@code{enable-log-filecount?} global.
La valeur par défaut est @samp{disabled}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean enable-log-linecount?
-A flag which can be used to disable the global setting
-@code{enable-log-linecount?}.
+Un drapeau qui peut être utilisé pour désactiver le paramètre
+@code{enable-log-linecount?} global.
La valeur par défaut est @samp{disabled}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean enable-remote-branches?
-Flag which, when set to @code{#t}, will make cgit display remote branches in
-the summary and refs views.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher les branches distantes dans
+les vues du résumé et des références.
La valeur par défaut est @samp{disabled}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean enable-subject-links?
-A flag which can be used to override the global setting
-@code{enable-subject-links?}.
+Un drapeau qui peut être utilisé pour modifier le paramètre
+@code{enable-subject-links?} global.
La valeur par défaut est @samp{disabled}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean enable-html-serving?
-A flag which can be used to override the global setting
-@code{enable-html-serving?}.
+Un drapeau qui peut être utilisé pour modifier le paramètre
+@code{enable-html-serving?} global.
La valeur par défaut est @samp{disabled}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-boolean hide?
-Flag which, when set to @code{#t}, hides the repository from the repository
-index.
+Drapeau qui, s'il vaut @code{#t}, cache le dépôt de l'index des dépôts.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-boolean ignore?
-Flag which, when set to @samp{#t}, ignores the repository.
+Drapeau qui, s'il vaut @code{#t}, ignore le dépôt.
La valeur par défaut est @samp{#f}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object logo
-URL which specifies the source of an image which will be used as a logo on
-this repo’s pages.
+URL qui spécifie la source d'une image qui sera utilisée comme logo sur les
+pages de ce dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string logo-link
-URL loaded when clicking on the cgit logo image.
+URL chargée lors du clic sur l'image du logo de cgit.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object owner-filter
-Override the default @code{owner-filter}.
+Modifie le paramètre @code{owner-filter} par défaut.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string module-link
-Text which will be used as the formatstring for a hyperlink when a submodule
-is printed in a directory listing. The arguments for the formatstring are
-the path and SHA1 of the submodule commit.
+Texte qui sera utilisé comme chaîne de formatage pour un lien hypertexte
+lorsqu'un sous-module est affiché dans une liste de fichiers. Les arguments
+pour la chaîne de formatage sont le chemin et le SHA1 du commit du
+sous-module.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} module-link-path module-link-path
-Text which will be used as the formatstring for a hyperlink when a submodule
-with the specified subdirectory path is printed in a directory listing.
+Texte qui sera utilisé comme chaîne de formatage lorsqu'un sous-module avec
+un chemin spécifié sera affiché dans une liste de fichiers.
La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string max-stats
-Override the default maximum statistics period.
+Modifie la période de statistique maximale par défaut.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string name
-The value to show as repository name.
+La valeur à afficher comme nom de dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string owner
-A value used to identify the owner of the repository.
+Une valeur utilisée pour identifier le propriétaire du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string path
-An absolute path to the repository directory.
+Un chemin absolu vers le répertoire du dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string readme
-A path (relative to repo) which specifies a file to include verbatim as the
-"About" page for this repo.
+Un chemin (relatif au dépôt) qui spécifie un fichier à inclure directement
+comme page « À propos » pour ce dépôt.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string section
-The name of the current repository section - all repositories defined after
-this option will inherit the current section name.
+Le nom de la section de dépôts actuelle — tous les dépôts définis après ce
+point hériterons du nom de section actuel.
La valeur par défaut est @samp{""}.
@end deftypevr
@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list extra-options
-Extra options will be appended to cgitrc file.
+Options supplémentaires ajoutées à la fin du fichier cgitrc.
La valeur par défaut est @samp{()}.
@@ -21889,7 +22594,7 @@ La valeur par défaut est @samp{()}.
@end deftypevr
@deftypevr {paramètre de @code{cgit-configuration}} list extra-options
-Extra options will be appended to cgitrc file.
+Options supplémentaires ajoutées à la fin du fichier cgitrc.
La valeur par défaut est @samp{()}.
@@ -21898,23 +22603,24 @@ La valeur par défaut est @samp{()}.
@c %end of fragment
-However, it could be that you just want to get a @code{cgitrc} up and
-running. In that case, you can pass an @code{opaque-cgit-configuration} as
-a record to @code{cgit-service-type}. As its name indicates, an opaque
-configuration does not have easy reflective capabilities.
+Cependant, vous pourriez vouloir simplement récupérer un @code{cgitrc} et
+l'utiliser. Dans ce cas, vous pouvez passer un
+@code{opaque-cgit-configuration} comme enregistrement à
+@code{cgit-service-type}. Comme son nom l'indique, une configuration opaque
+n'a pas de capacité de réflexion facile.
Les champs de @code{opaque-cgit-configuration} disponibles sont :
@deftypevr {paramètre de @code{opaque-cgit-configuration}} package cgit
-The cgit package.
+Le paquet cgit.
@end deftypevr
@deftypevr {paramètre de @code{opaque-cgit-configuration}} string string
-The contents of the @code{cgitrc}, as a string.
+Le contenu de @code{cgitrc}, en tant que chaîne de caractère.
@end deftypevr
-For example, if your @code{cgitrc} is just the empty string, you could
-instantiate a cgit service like this:
+Par exemple, si votre @code{cgitrc} est juste la chaîne vide, vous pouvez
+instancier un service cgit ainsi :
@example
(service cgit-service-type
@@ -21926,14 +22632,14 @@ instantiate a cgit service like this:
@cindex service Gitolite
@cindex Git, hébergement
-@uref{http://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git
-repositories on a central server.
+@uref{http://gitolite.com/gitolite/, Gitolite} est un outil pour héberger
+des dépôts Git sur un serveur central.
-Gitolite can handle multiple repositories and users, and supports flexible
-configuration of the permissions for the users on the repositories.
+Gitolite peut gérer plusieurs dépôts et utilisateurs et supporte une
+configuration flexible des permissions pour les utilisateurs sur ces dépôts.
-The following example will configure Gitolite using the default @code{git}
-user, and the provided SSH public key.
+L'exemple suivant configure Gitolite en utilisant l'utilisateur @code{git}
+par défaut et la clef SSH fournie.
@example
(service gitolite-service-type
@@ -21943,18 +22649,18 @@ user, and the provided SSH public key.
"ssh-rsa AAAA... guix@@example.com"))))
@end example
-Gitolite is configured through a special admin repository which you can
-clone, for example, if you setup Gitolite on @code{example.com}, you would
-run the following command to clone the admin repository.
+Gitolite est configuré via un dépôt d'administration spécial que vous pouvez
+cloner. Par exemple, si vous hébergez Gitolite sur @code{example.com}, vous
+pouvez lancer la commande suivante pour cloner le dépôt d'administration :
@example
git clone git@@example.com:gitolite-admin
@end example
-When the Gitolite service is activated, the provided @code{admin-pubkey}
-will be inserted in to the @file{keydir} directory in the gitolite-admin
-repository. If this results in a change in the repository, it will be
-committed using the message ``gitolite setup by GNU Guix''.
+Lorsque le service Gitolite est activé, la clef @code{admin-pubkey} fournie
+sera insérée dans le répertoire @file{keydir} du dépôt gitolite-admin. Si
+cela change le dépôt, un commit sera effectué avec le message « gitolite
+setup by GNU Guix ».
@deftp {Type de données} gitolite-configuration
Type de données représentant la configuration de
@@ -21965,8 +22671,8 @@ Type de données représentant la configuration de
Le paquet Gitolite à utiliser.
@item @code{user} (par défaut : @var{git})
-User to use for Gitolite. This will be user that you use when accessing
-Gitolite over SSH.
+Utilisateur pour utiliser Gitolite. Cela sera l'utilisateur à utiliser pour
+accéder à Gitolite par SSH.
@item @code{group} (par défaut : @var{git})
Groupe à utiliser pour Gitolite.
@@ -21983,7 +22689,8 @@ Un objet « simili-fichier » (@pxref{G-Expressions, file-like objects})
utilisé pour paramétrer Gitolite. Il sera inséré dans le répertoire
@file{keydir} dans le dépôt gitolite-admin.
-To specify the SSH key as a string, use the @code{plain-file} function.
+Pour spécifier la clef SSH comme chaîne de caractère, utilisez la fonction
+@code{plain-file}.
@example
(plain-file "yourname.pub" "ssh-rsa AAAA... guix@@example.com")
@@ -21997,40 +22704,43 @@ Type de données représentant le fichier RC de Gitolite.
@table @asis
@item @code{umask} (par défaut : @code{#o0077})
-This controls the permissions Gitolite sets on the repositories and their
-contents.
+Cela contrôle les permissions que Gitolite propose sur les dépôts et leur
+contenu.
-A value like @code{#o0027} will give read access to the group used by
-Gitolite (by default: @code{git}). This is necessary when using Gitolite
-with software like cgit or gitweb.
+Une valeur comme @code{#o0027} donnera accès en lecture au groupe utilisé
+par Gitolite (par défaut : @code{git}). Cel aest nécessaire lorsque vous
+utilise Gitolite avec un logiciel comme cgit ou gitweb.
@item @code{git-config-keys} (par défaut : @code{""})
-Gitolite allows you to set git config values using the "config"
-keyword. This setting allows control over the config keys to accept.
+Gitolite vous permet de modifier les configurations git avec le mot-clef «
+config ». Ce paramètre vous permet de contrôler les clefs de configuration
+acceptables.
@item @code{roles} (par défaut : @code{'(("READERS" . 1) ("WRITERS" . ))})
-Set the role names allowed to be used by users running the perms command.
+Indique les noms des rôles qui peuvent être utilisés par les utilisateurs
+avec la commande perms.
@item @code{enable} (par défaut : @code{'("help" "desc" "info" "perms" "writable" "ssh-authkeys" "git-config" "daemon" "gitweb")})
-This setting controls the commands and features to enable within Gitolite.
+Ce paramètre contrôle les commandes et les fonctionnalités à activer dans
+Gitolite.
@end table
@end deftp
@node Services de jeu
-@subsubsection Services de jeu
+@subsection Services de jeu
-@subsubheading The Battle for Wesnoth Service
+@subsubheading Le service de la Bataille pour Wesnoth
@cindex wesnothd
-@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based
-tactical strategy game, with several single player campaigns, and
-multiplayer games (both networked and local).
+@uref{https://wesnoth.org, La Bataille pour Wesnoth} est un jeu de stratégie
+en tour par tour dans un univers fantastique, avec plusieurs campagnes solo
+et des parties multijoueurs (en réseau et en local).
@defvar {Variable Scheme} wesnothd-service-type
-Service type for the wesnothd service. Its value must be a
-@code{wesnothd-configuration} object. To run wesnothd in the default
-configuration, instantiate it as:
+Type de service pour le service wesnothd. Sa valeur doit être un objet
+@code{wesnothd-configuration}. Pour lancer wesnothd avec la configuration
+par défaut, instanciez-le ainsi :
@example
(service wesnothd-service-type)
@@ -22038,29 +22748,29 @@ configuration, instantiate it as:
@end defvar
@deftp {Type de données} wesnothd-configuration
-Data type representing the configuration of @command{wesnothd}.
+Type de donées représentant la configuration de @command{wesnothd}.
@table @asis
@item @code{package} (par défaut : @code{wesnoth-server})
-The wesnoth server package to use.
+Le paquet de serveur de wesnoth à utiliser.
@item @code{port} (par défaut : @code{15000})
-The port to bind the server to.
+Le pour sur lequel lier le serveur.
@end table
@end deftp
@node Services divers
-@subsubsection Services divers
+@subsection Services divers
-@cindex fingerprint
+@cindex empreinte digitale
@subsubheading Service d'empreintes digitales
Le module @code{(gnu services fingerprint)} fournit un service DBus pour
lire et identifier les empreintes digitales via un lecteur d'empreinte.
@defvr {Variable Scheme} fprintd-service-type
-The service type for @command{fprintd}, which provides the fingerprint
-reading capability.
+Le type de service pour @command{fprintd}, qui fournit des capacités de
+lecture d'empreinte.
@example
(service fprintd-service-type)
@@ -22068,15 +22778,15 @@ reading capability.
@end defvr
@cindex sysctl
-@subsubheading System Control Service
+@subsubheading Service de contrôle du système
-The @code{(gnu services sysctl)} provides a service to configure kernel
-parameters at boot.
+Le module @code{(gnu services sysctl)} fournit un service pour configurer
+les paramètres du noyau au démarrage.
@defvr {Variable Scheme} sysctl-service-type
-The service type for @command{sysctl}, which modifies kernel parameters
-under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated
-as:
+Le type de service pour @command{sysctl}, qui modifie les paramètres du
+noyau dans @file{/proc/sys/}. Pour activer le transfert d'IPv4, vous pouvez
+l'instancier ainsi :
@example
(service sysctl-service-type
@@ -22086,26 +22796,25 @@ as:
@end defvr
@deftp {Type de données} sysctl-configuration
-The data type representing the configuration of @command{sysctl}.
+Le type de données représentant la configuration de @command{sysctl}.
@table @asis
@item @code{sysctl} (par défaut : @code{(file-append procps "/sbin/sysctl"})
-The @command{sysctl} executable to use.
+L'exécutable @command{sysctl} à utiliser.
@item @code{settings} (par défaut : @code{'()})
-An association list specifies kernel parameters and their values.
+Une liste d'association spécifiant les paramètres du noyau et leur valeur.
@end table
@end deftp
@cindex pcscd
-@subsubheading PC/SC Smart Card Daemon Service
+@subsubheading Service du démon PC/SC Smart Card
-The @code{(gnu services security-token)} module provides the following
-service to run @command{pcscd}, the PC/SC Smart Card Daemon.
-@command{pcscd} is the daemon program for pcsc-lite and the MuscleCard
-framework. It is a resource manager that coordinates communications with
-smart card readers, smart cards and cryptographic tokens that are connected
-to the system.
+Le module @code{(gnu services security-token)} fournit le service suivant
+qui lance @command{pcscd}, le démon PC/SC Smart Card. @command{pcscd} est
+le démon pour pcsc-lite et MuscleCard. C'est un gestionnaire de ressource
+qui coordonne les communications avec les lecteurs de smart cards, les smart
+cards et les jetons cryptographiques connectés au système.
@defvr {Variable Scheme} pcscd-service-type
Le type de service pour le service @command{pcscd}. Sa valeur doit être un
@@ -22124,120 +22833,129 @@ Type de données représentant la configuration de @command{pcscd}.
@item @code{pcsc-lite} (par défaut : @code{pcsc-lite})
Le paquet pcsc-lite qui fournit pcscd.
@item @code{usb-drivers} (par défaut : @code{(list ccid)})
-List of packages that provide USB drivers to pcscd. Drivers are expected to
-be under @file{pcsc/drivers} in the store directory of the package.
+Liste des paquets qui fournissent des pilotes USB à pcscd. Les pilotes
+doivent être dans @file{pcsc/drivers} dans le répertoire du dépôt du paquet.
@end table
@end deftp
@cindex lirc
-@subsubheading Lirc Service
+@subsubheading Service Lirc
-The @code{(gnu services lirc)} module provides the following service.
+Le module @code{(gnu services lirc)} fournit le service suivant.
@deffn {Procédure Scheme} lirc-service [#:lirc lirc] @
- [#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()]
-Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that
-decodes infrared signals from remote controls.
+ [#:device #f] [#:driver #f] [#:config-file #f] @
+[#:extra-options '()]
+Renvoie un service qui lance @url{http://www.lirc.org,LIRC}, un démon qui
+décode les signaux infrarouges des télécommandes.
-Optionally, @var{device}, @var{driver} and @var{config-file} (configuration
-file name) may be specified. See @command{lircd} manual for details.
+Éventuellement, @var{device}, @var{driver} et @var{config-file} (le nom du
+fichier de configuration) peuvent être spécifiés. Voir le manuel de
+@command{lircd} pour plus de détails.
-Finally, @var{extra-options} is a list of additional command-line options
-passed to @command{lircd}.
+Enfin, @var{extra-options} est une liste d'options de la ligne de commande
+supplémentaires à passer à @command{lircd}.
@end deffn
@cindex spice
-@subsubheading Spice Service
+@subsubheading Service Spice
-The @code{(gnu services spice)} module provides the following service.
+Le module @code{(gnu services spice)} fournit le service suivant.
@deffn {Procédure Scheme} spice-vdagent-service [#:spice-vdagent]
-Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a
-daemon that enables sharing the clipboard with a vm and setting the guest
-display resolution when the graphical console window resizes.
+Renvoie un service qui lance @url{http://www.spice-space.org,VDAGENT}, un
+démon qui permet le partage du presse-papier avec une vm et de configurer la
+résolution d'affichage du client lorsque la fenêtre de la console graphique
+est redimensionnée.
@end deffn
-@subsubsection Dictionary Services
-@cindex dictionary
-The @code{(gnu services dict)} module provides the following service:
+@subsection Services de dictionnaires
+@cindex dictionnaire
+Le module @code{(gnu services dict)} fournit le service suivant :
@deffn {Procédure Scheme} dicod-service [#:config (dicod-configuration)]
-Return a service that runs the @command{dicod} daemon, an implementation of
-DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
+Renvoie un service qui lance le démon @command{dicod}, une implémentation du
+serveur DICT (@pxref{Dicod,,, dico, GNU Dico Manual}).
-The optional @var{config} argument specifies the configuration for
-@command{dicod}, which should be a @code{<dicod-configuration>} object, by
-default it serves the GNU Collaborative International Dictonary of English.
+L'argument @var{config} facultatif spécifie la configuration pour
+@command{dicod}, qui devrait être un objet @code{<dicod-configuration>}, par
+défaut il sert le dictionnaire international collaboratif de GNU pour
+l'anglais.
-You can add @command{open localhost} to your @file{~/.dico} file to make
-@code{localhost} the default server for @command{dico} client
-(@pxref{Initialization File,,, dico, GNU Dico Manual}).
+Vous pouvez ajouter @command{open localhost} à votre fichier @file{~/.dico}
+pour faire de @code{localhost} le serveur par défaut du client
+@command{dico} (@pxref{Initialization File,,, dico, GNU Dico Manual}).
@end deffn
@deftp {Type de données} dicod-configuration
-Data type representing the configuration of dicod.
+Type de données représentant la configuration de dicod.
@table @asis
@item @code{dico} (par défaut : @var{dico})
-Package object of the GNU Dico dictionary server.
+Objet de paquet du serveur de dictionnaire GNU Dico.
@item @code{interfaces} (par défaut : @var{'("localhost")})
-This is the list of IP addresses and ports and possibly socket file names to
-listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico
-Manual}).
+C'est la liste des adresses IP et des ports et éventuellement des noms de
+fichiers de socket sur lesquels écouter (@pxref{Server Settings,
+@code{listen} directive,, dico, GNU Dico Manual}).
@item @code{handlers} (par défaut : @var{'()})
-List of @code{<dicod-handler>} objects denoting handlers (module instances).
+Liste des objets @code{<dicod-handler>} qui définissent des gestionnaires
+(des instances de modules).
@item @code{databases} (par défaut : @var{(list %dicod-database:gcide)})
-List of @code{<dicod-database>} objects denoting dictionaries to be served.
+Liste d'objets @code{<dicod-database>} qui définissent des dictionnaires à
+servir.
@end table
@end deftp
@deftp {Type de données} dicod-handler
-Data type representing a dictionary handler (module instance).
+Type de données représentant un gestionnaire de dictionnaire (instance de
+module).
@table @asis
@item @code{name}
-Name of the handler (module instance).
+Nom du gestionnaire (instance de module).
@item @code{module} (par défaut : @var{#f})
-Name of the dicod module of the handler (instance). If it is @code{#f}, the
-module has the same name as the handler. (@pxref{Modules,,, dico, GNU Dico
-Manual}).
+Nom du module dicod du gestionnaire (instance). Si la valeur est @code{#f},
+le module a le même nom que le gestionnaire. (@pxref{Modules,,, dico, GNU
+Dico Manual}).
@item @code{options}
-List of strings or gexps representing the arguments for the module handler
+Liste de chaînes ou de gexps représentant les arguments pour le gestionnaire
+de module.
@end table
@end deftp
@deftp {Type de données} dicod-database
-Data type representing a dictionary database.
+Type de données représentant une base de données de dictionnaire.
@table @asis
@item @code{name}
-Name of the database, will be used in DICT commands.
+Nom de la base de données, qui sera utilisée dans les commande DICT.
@item @code{handler}
-Name of the dicod handler (module instance) used by this database
-(@pxref{Handlers,,, dico, GNU Dico Manual}).
+Nom du gestionnaire dicod (instance de module) utilisé par cette base de
+données (@pxref{Handlers,,, dico, GNU Dico Manual}).
@item @code{complex?} (par défaut : @var{#f})
-Whether the database configuration complex. The complex configuration will
-need a corresponding @code{<dicod-handler>} object, otherwise not.
+Indique si la configuration est pour une base de données complexe. La
+configuration complexe a besoin d'un objet @code{<dicod-handler>}
+correspondant, sinon inutile.
@item @code{options}
-List of strings or gexps representing the arguments for the database
-(@pxref{Databases,,, dico, GNU Dico Manual}).
+Liste de chaînes ou de gexps représentant les arguments pour la base de
+données (@pxref{Databases,,, dico, GNU Dico Manual}).
@end table
@end deftp
@defvr {Variable Scheme} %dicod-database:gcide
-A @code{<dicod-database>} object serving the GNU Collaborative International
-Dictionary of English using the @code{gcide} package.
+Un objet @code{<dicod-database>} servant le dictionnaire international
+collaboratif en anglais via le paquet @code{gcide}.
@end defvr
-The following is an example @code{dicod-service} configuration.
+Voici un exemple de configuration de @code{dicod-service}.
@example
(dicod-service #:config
@@ -22255,91 +22973,127 @@ The following is an example @code{dicod-service} configuration.
%dicod-database:gcide))))
@end example
+@cindex Docker
+@subsubheading Docker Service
+
+The @code{(gnu services docker)} module provides the following service.
+
+@defvr {Scheme Variable} docker-service-type
+
+This is the type of the service that runs
+@url{http://www.docker.com,Docker}, a daemon that can execute application
+bundles (sometimes referred to as ``containers'') in isolated environments.
+
+@end defvr
+
+@deftp {Data Type} docker-configuration
+This is the data type representing the configuration of Docker and
+Containerd.
+
+@table @asis
+
+@item @code{package} (default: @code{docker})
+The Docker package to use.
+
+@item @code{containerd} (default: @var{containerd})
+The Containerd package to use.
+
+@end table
+@end deftp
+
@node Programmes setuid
-@subsection Programmes setuid
-
-@cindex setuid programs
-Some programs need to run with ``root'' privileges, even when they are
-launched by unprivileged users. A notorious example is the @command{passwd}
-program, which users can run to change their password, and which needs to
-access the @file{/etc/passwd} and @file{/etc/shadow} files---something
-normally restricted to root, for obvious security reasons. To address that,
-these executables are @dfn{setuid-root}, meaning that they always run with
-root privileges (@pxref{How Change Persona,,, libc, The GNU C Library
-Reference Manual}, for more info about the setuid mechanism.)
-
-The store itself @emph{cannot} contain setuid programs: that would be a
-security issue since any user on the system can write derivations that
-populate the store (@pxref{Le dépôt}). Thus, a different mechanism is
-used: instead of changing the setuid bit directly on files that are in the
-store, we let the system administrator @emph{declare} which programs should
-be setuid root.
-
-The @code{setuid-programs} field of an @code{operating-system} declaration
-contains a list of G-expressions denoting the names of programs to be
-setuid-root (@pxref{Utiliser le système de configuration}). For instance, the
-@command{passwd} program, which is part of the Shadow package, can be
-designated by this G-expression (@pxref{G-Expressions}):
+@section Programmes setuid
+
+@cindex programmes setuid
+Certains programmes doivent être lancés avec les privilèges « root » même
+lorsqu'ils sont lancés par un utilisateur non privilégié. Un exemple
+notoire est le programme @command{passwd}, que les utilisateurs peuvent
+appeler pour modifier leur mot de passe et qui doit accéder à
+@file{/etc/passwd} et @file{/etc/shadow} — ce qui est normalement réservé à
+root, pour des raisons de sécurité évidentes. Pour contourner cela, ces
+exécutables sont @dfn{setuid-root}, ce qui signifie qu'ils seront toujours
+lancés avec les privilèges root (@pxref{How Change Persona,,, libc, The GNU
+C Library Reference Manual}, pour plus d'informations sur le mécanisme
+setuid).
+
+Le dépôt lui-même ne @emph{peut pas} contenir de programmes setuid ; cela
+serait un problème de sécurité puisque n'importe quel utilisateur du système
+peut écrire une dérivation qui rempli le dépôt (@pxref{Le dépôt}). Donc,
+un mécanisme différent est utilisé : au lieu de changer le bit setuid
+directement sur les fichiers qui sont dans le dépôt, nous laissons à
+l'administrateur système le soit de @emph{déclarer} les programmes qui
+devraient être setuid root.
+
+Le champ @code{setuid-programs} d'une déclaration @code{operating-system}
+contient une liste de G-expressions qui dénotent les noms des programmes à
+rendre setuid-root (@pxref{Utiliser le système de configuration}). Par exemple,
+le programme @command{passwd}, qui fait partie du paquet Shadow, peut être
+désigné par cette G-expression (@pxref{G-Expressions}) :
@example
#~(string-append #$shadow "/bin/passwd")
@end example
-A default set of setuid programs is defined by the @code{%setuid-programs}
-variable of the @code{(gnu system)} module.
+Un ensemble de programmes par défaut est défini par la variable
+@code{%setuid-programs} du module @code{(gnu system)}.
@defvr {Variable Scheme} %setuid-programs
-A list of G-expressions denoting common programs that are setuid-root.
+Une liste de G-expressions qui dénotent les programmes communément
+setuid-root.
-The list includes commands such as @command{passwd}, @command{ping},
-@command{su}, and @command{sudo}.
+La liste inclus des commandes comme @command{passwd}, @command{ping},
+@command{su} et @command{sudo}.
@end defvr
-Under the hood, the actual setuid programs are created in the
-@file{/run/setuid-programs} directory at system activation time. The files
-in this directory refer to the ``real'' binaries, which are in the store.
+Sous le capot, les programmes setuid sont créés dans le répertoire
+@file{/run/setuid-programs} au moment de l'activation du système. Les
+fichiers dans ce répertoire se réfèrent aux « vrais » binaires, qui sont
+dans le dépot.
@node Certificats X.509
-@subsection Certificats X.509
+@section Certificats X.509
-@cindex HTTPS, certificates
-@cindex X.509 certificates
+@cindex HTTPS, certificats
+@cindex certificats X.509
@cindex TLS
-Web servers available over HTTPS (that is, HTTP over the transport-layer
-security mechanism, TLS) send client programs an @dfn{X.509 certificate}
-that the client can then use to @emph{authenticate} the server. To do that,
-clients verify that the server's certificate is signed by a so-called
-@dfn{certificate authority} (CA). But to verify the CA's signature, clients
-must have first acquired the CA's certificate.
-
-Web browsers such as GNU@tie{}IceCat include their own set of CA
-certificates, such that they are able to verify CA signatures
-out-of-the-box.
-
-However, most other programs that can talk HTTPS---@command{wget},
-@command{git}, @command{w3m}, etc.---need to be told where CA certificates
-can be found.
+Les serveurs web disponibles par HTTPS (c'est-à-dire HTTP sur le mécanisme
+de la couche de transport sécurisée, TLS) envoient aux clients un
+@dfn{certificat X.509} que les clients peuvent utiliser pour
+@emph{authentifier} le serveur. Pour cela, les clients vérifient que le
+certificat du serveur est signé par une @dfn{autorité de certification} (AC
+ou CA). Mais pour vérifier la signature de la CA, les clients doivent
+d'abord avoir récupéré le certificat de la CA.
+
+Les navigateurs web comme GNU@tie{}IceCat incluent leur propre liste de
+certificats, pour qu'ils puissent vérifier les signatures des CA
+directement.
+
+Cependant, la plupart des autres programmes qui peuvent parler HTTPS —
+@command{wget}, @command{git}, @command{w3m}, etc — doivent savoir où
+trouver les certificats des CA.
@cindex @code{nss-certs}
-In GuixSD, this is done by adding a package that provides certificates to
-the @code{packages} field of the @code{operating-system} declaration
-(@pxref{Référence de système d'exploitation}). GuixSD includes one such package,
+In Guix, this is done by adding a package that provides certificates to the
+@code{packages} field of the @code{operating-system} declaration
+(@pxref{Référence de système d'exploitation}). Guix includes one such package,
@code{nss-certs}, which is a set of CA certificates provided as part of
Mozilla's Network Security Services.
-Note that it is @emph{not} part of @var{%base-packages}, so you need to
-explicitly add it. The @file{/etc/ssl/certs} directory, which is where most
-applications and libraries look for certificates by default, points to the
-certificates installed globally.
-
-Unprivileged users, including users of Guix on a foreign distro, can also
-install their own certificate package in their profile. A number of
-environment variables need to be defined so that applications and libraries
-know where to find them. Namely, the OpenSSL library honors the
-@code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables. Some applications
-add their own environment variables; for instance, the Git version control
-system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO}
-environment variable. Thus, you would typically run something like:
+Remarquez qu'il ne fait @emph{pas} partie de @var{%base-packages}, donc vous
+devez explicitement l'ajouter. Le répertoire @file{/etc/ssl/certs}, là où
+la plupart des applications et bibliothèques vont rechercher les certificats
+par défaut, pointe vers les certificats installés globalement.
+
+Les utilisateurs non privilégiés, dont les utilisateurs de Guix sur une
+distro externe, peuvent aussi installer leur propre paquet de certificats
+dans leur profil. Un certain nombre de variables d'environnement doivent
+être définies pour que les applications et les bibliothèques puissent les
+trouver. En particulier, la bibliothèque OpenSSL honore les variables
+@code{SSL_CERT_DIR} et @code{SSL_CERT_FILE}. Certaines applications
+ajoutent leurs propres variables, par exemple le système de contrôle de
+version Git honore le lot de certificats pointé par la variable
+d'environnement @code{GIT_SSL_CAINFO}. Ainsi, vous lanceriez quelque chose
+comme ceci :
@example
$ guix package -i nss-certs
@@ -22348,107 +23102,110 @@ $ export SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
$ export GIT_SSL_CAINFO="$SSL_CERT_FILE"
@end example
-As another example, R requires the @code{CURL_CA_BUNDLE} environment
-variable to point to a certificate bundle, so you would have to run
-something like this:
+Un autre exemple serait R, qui requière que la variable d'environnement
+@code{CURL_CA_BUNDLE} pointe sur le lot de certificats, donc vous lanceriez
+quelque chose comme ceci :
@example
$ guix package -i nss-certs
$ export CURL_CA_BUNDLE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
@end example
-For other applications you may want to look up the required environment
-variable in the relevant documentation.
+Pour d'autres applications vous pourriez avoir besoin de chercher la
+variable d'environnement requise dans leur documentation.
@node Name Service Switch
-@subsection Name Service Switch
+@section Name Service Switch
@cindex name service switch
@cindex NSS
-The @code{(gnu system nss)} module provides bindings to the configuration
-file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS
-Configuration File,,, libc, The GNU C Library Reference Manual}). In a
-nutshell, the NSS is a mechanism that allows libc to be extended with new
-``name'' lookup methods for system databases, which includes host names,
-service names, user accounts, and more (@pxref{Name Service Switch, System
+Le module @code{(gnu system nss)} fournit des liaisons pour le fichier de
+configuration du @dfn{name service switch} ou @dfn{NSS} de la libc
+(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference
+Manual}). En résumé, NSS est un mécanisme qui permet à la libc d'être
+étendue avec de nouvelles méthodes de résolution de « noms » dans les bases
+de données du système, comme les noms d'hôtes, les noms des services, les
+comptes utilisateurs et bien plus (@pxref{Name Service Switch, System
Databases and Name Service Switch,, libc, The GNU C Library Reference
Manual}).
-The NSS configuration specifies, for each system database, which lookup
-method is to be used, and how the various methods are chained together---for
-instance, under which circumstances NSS should try the next method in the
-list. The NSS configuration is given in the @code{name-service-switch}
-field of @code{operating-system} declarations (@pxref{Référence de système d'exploitation, @code{name-service-switch}}).
+La configuration de NSS spécifie, pour chaque base de données du système,
+quelle méthode de résolution utiliser, et comment les diverses méthodes sont
+enchaînées — par exemple, sous certaines circonstances, NSS devrait essayer
+la méthode suivante de la liste. La configuration de NSS est donnée dans le
+champ @code{name-service-switch} de la déclaration @code{operating-system}
+(@pxref{Référence de système d'exploitation, @code{name-service-switch}}).
@cindex nss-mdns
-@cindex .local, host name lookup
-As an example, the declaration below configures the NSS to use the
-@uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns}
-back-end}, which supports host name lookups over multicast DNS (mDNS) for
-host names ending in @code{.local}:
+@cindex .local, résolution de nom d'hôte
+Par exemple, la déclation ci-dessous configure NSS pour utiliser le
+@uref{http://0pointer.de/lennart/projects/nss-mdns/, moteur
+@code{nss-mdns}}, qui supporte la résolution de nom d'hôte sur le DNS
+multicast (mDNS) pour les noms d'hôtes terminant par @code{.local} :
@example
(name-service-switch
(hosts (list %files ;first, check /etc/hosts
- ;; If the above did not succeed, try
- ;; with 'mdns_minimal'.
+ ;; Si ce qui précède n'a pas fonctionné, essayer
+ ;; avec « mdns_minimal ».
(name-service
(name "mdns_minimal")
- ;; 'mdns_minimal' is authoritative for
- ;; '.local'. When it returns "not found",
- ;; no need to try the next methods.
+ ;; « mdns_minimal » fait autorité pour
+ ;; « .local ». Lorsqu'il renvoie « pas trouvé »,
+ ;; inutile d'essayer la méthode suivante.
(reaction (lookup-specification
(not-found => return))))
- ;; Then fall back to DNS.
+ ;; Puis revenir sur DNS.
(name-service
(name "dns"))
- ;; Finally, try with the "full" 'mdns'.
+ ;; Enfin, essayer avec « mdns complet ».
(name-service
(name "mdns")))))
@end example
-Do not worry: the @code{%mdns-host-lookup-nss} variable (see below)
-contains this configuration, so you will not have to type it if all you want
-is to have @code{.local} host lookup working.
+Ne vous inquiétez pas : la variable @code{%mdns-host-lookup-nss} (voir plus
+bas) contient cette configuration, donc vous n'avez pas besoin de tout taper
+si vous voulez simplement que la résolution de nom en @code{.local}
+fonctionne.
Note that, in this case, in addition to setting the
@code{name-service-switch} of the @code{operating-system} declaration, you
-also need to use @code{avahi-service} (@pxref{Services réseau,
-@code{avahi-service}}), or @var{%desktop-services}, which includes it
+also need to use @code{avahi-service-type} (@pxref{Services réseau,
+@code{avahi-service-type}}), or @var{%desktop-services}, which includes it
(@pxref{Services de bureaux}). Doing this makes @code{nss-mdns} accessible to
the name service cache daemon (@pxref{Services de base, @code{nscd-service}}).
-For convenience, the following variables provide typical NSS configurations.
+Pour votre confort, les variables suivantes contiennent des configurations
+NSS typiques.
@defvr {Variable Scheme} %default-nss
-This is the default name service switch configuration, a
-@code{name-service-switch} object.
+C'est la configuration NSS par défaut, un objet @code{name-service-switch}.
@end defvr
@defvr {Variable Scheme} %mdns-host-lookup-nss
-This is the name service switch configuration with support for host name
-lookup over multicast DNS (mDNS) for host names ending in @code{.local}.
+C'est la configuration NSS avec le support de la résolution de noms sur DNS
+multicast (mDNS) pour les noms d'hôtes en @code{.local}.
@end defvr
-The reference for name service switch configuration is given below. It is a
-direct mapping of the configuration file format of the C library , so please
-refer to the C library manual for more information (@pxref{NSS Configuration
-File,,, libc, The GNU C Library Reference Manual}). Compared to the
-configuration file format of libc NSS, it has the advantage not only of
-adding this warm parenthetic feel that we like, but also static checks: you
-will know about syntax errors and typos as soon as you run @command{guix
+La référence pour la configuration de NSS est donnée ci-dessous. C'est une
+correspondance directe avec le format de fichier de la bibliothèque C, donc
+référez-vous au manuel de la bibliothèque C pour plus d'informations
+(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference
+Manual}). Comparé au format de fichier de configuration de NSS, cette
+configuration a l'avantage non seulement d'ajouter ces bonnes vieilles
+parenthèses, mais aussi des vérifications statiques ; vous saurez s'il y a
+des erreurs de syntaxe et des coquilles dès que vous lancerez @command{guix
system}.
@deftp {Type de données} name-service-switch
-This is the data type representation the configuration of libc's name
-service switch (NSS). Each field below represents one of the supported
-system databases.
+C'est le type de données représentant la configuration de NSS. Chaque champ
+ci-dessous représente l'un des système de bases de données supportés.
@table @code
@item aliases
@@ -22464,30 +23221,30 @@ system databases.
@itemx rpc
@itemx services
@itemx shadow
-The system databases handled by the NSS. Each of these fields must be a
-list of @code{<name-service>} objects (see below).
+Les bases de données du système gérées par NSS. Chaque champ doit être une
+liste d'objets @code{<name-service>} (voir plus bas).
@end table
@end deftp
@deftp {Type de données} name-service
-This is the data type representing an actual name service and the associated
-lookup action.
+C'est le type de données représentant un service de noms et l'action de
+résolution associée.
@table @code
@item name
-A string denoting the name service (@pxref{Services in the NSS
+Une chaîne dénotant le service de nom (@pxref{Services in the NSS
configuration,,, libc, The GNU C Library Reference Manual}).
-Note that name services listed here must be visible to nscd. This is
-achieved by passing the @code{#:name-services} argument to
-@code{nscd-service} the list of packages providing the needed name services
+Remarquez que les services de dnoms listés ici doivent être visibles à
+nscd. Cela se fait en passant la liste des paquets fournissant les services
+de noms à l'argument @code{#:name-services} de @code{nscd-service}
(@pxref{Services de base, @code{nscd-service}}).
@item reaction
-An action specified using the @code{lookup-specification} macro
+Une action spécifiée par la macro @code{lookup-specification}
(@pxref{Actions in the NSS configuration,,, libc, The GNU C Library
-Reference Manual}). For example:
+Reference Manual}). Par exemple :
@example
(lookup-specification (unavailable => continue)
@@ -22497,23 +23254,24 @@ Reference Manual}). For example:
@end deftp
@node Disque de RAM initial
-@subsection Disque de RAM initial
+@section Disque de RAM initial
@cindex initrd
@cindex disque de RAM initial
-For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial
-RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system
-as well as an initialization script. The latter is responsible for mounting
-the real root file system, and for loading any kernel modules that may be
-needed to achieve that.
-
-The @code{initrd-modules} field of an @code{operating-system} declaration
-allows you to specify Linux-libre kernel modules that must be available in
-the initrd. In particular, this is where you would list modules needed to
-actually drive the hard disk where your root partition is---although the
-default value of @code{initrd-modules} should cover most use cases. For
-example, assuming you need the @code{megaraid_sas} module in addition to the
-default modules to be able to access your root file system, you would write:
+Pour le démarrage, on passe au noyau Linux-Libre un @dfn{disque de RAM
+initial} ou @dfn{initrd}. Un initrd contient un système de fichier racine
+temporaire ainsi qu'un script d'initialisation. Ce dernier est responsable
+du montage du vrai système de fichier racine et du chargement des modules du
+noyau qui peuvent être nécessaires à cette tâche.
+
+Le champ @code{initrd-modules} d'une déclaration @code{operating-system}
+vous permet de spécifier les modules du noyau Linux-Libre qui doivent être
+disponibles dans l'initrd. En particulier, c'est là où vous devez lister
+les modules requis pour effectivement piloter le disque dur où se trouve la
+partition racine — bien que la valeur par défaut de @code{initrd-modules}
+couvre la plupart des cas. Par exemple, en supposant que vous ayez besoin
+du module @code{megaraid_sas} en plus des modules par défaut pour accéder à
+votre système de fichiers racine, vous écririez :
@example
(operating-system
@@ -22522,372 +23280,388 @@ default modules to be able to access your root file system, you would write:
@end example
@defvr {Variable Scheme} %base-initrd-modules
-This is the list of kernel modules included in the initrd by default.
+C'est la liste des modules du noyau inclus dans l'initrd par défaut.
@end defvr
-Furthermore, if you need lower-level customization, the @code{initrd} field
-of an @code{operating-system} declaration allows you to specify which initrd
-you would like to use. The @code{(gnu system linux-initrd)} module provides
-three ways to build an initrd: the high-level @code{base-initrd} procedure
-and the low-level @code{raw-initrd} and @code{expression->initrd}
-procedures.
+En plus, si vous avez besoin de paramétrages plus bas niveau, le champ
+@code{initrd} d'une déclaration @code{operating-system} vous permet de
+spécifier quel initrd vous voudriez utiliser. Le module @code{(gnu system
+linux-initrd)} fournit trois manières de construire un initrd : la procédure
+@code{base-initrd} de haut niveau et les procédures @code{raw-initrd} et
+@code{expression->initrd} de bas niveau.
-The @code{base-initrd} procedure is intended to cover most common uses. For
-example, if you want to add a bunch of kernel modules to be loaded at boot
-time, you can define the @code{initrd} field of the operating system
-declaration like this:
+La procédure @code{base-initrd} est conçue pour couvrir la plupart des
+usages courants. Par exemple, si vous voulez ajouter des modules du noyau à
+charger au démarrage, vous pouvez définir le champ @code{initrd} de votre
+déclaration de système d'exploitation ainsi :
@example
(initrd (lambda (file-systems . rest)
- ;; Create a standard initrd but set up networking
- ;; with the parameters QEMU expects by default.
+ ;; Crée un initrd standard mais paramètre le réseau
+ ;; avec les paramètres que QEMU attend par défaut.
(apply base-initrd file-systems
#:qemu-networking? #t
rest)))
@end example
-The @code{base-initrd} procedure also handles common use cases that involves
-using the system as a QEMU guest, or as a ``live'' system with volatile root
-file system.
+La procédure @code{base-initrd} gère aussi les cas d'utilisation courants
+qui concernent l'utilisation du système comme client QEMU, ou comme un
+système « live » avec un système de fichier racine volatile.
-The @code{base-initrd} procedure is built from @code{raw-initrd} procedure.
-Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level,
-such as trying to guess which kernel modules and packages should be included
-to the initrd. An example use of @code{raw-initrd} is when a user has a
-custom Linux kernel configuration and default kernel modules included by
-@code{base-initrd} are not available.
+La procédure @code{base-initrd} est construite à partir de la procédure
+@code{raw-initrd}. Contrairement à @code{base-initrd}, @code{raw-initrd} ne
+fait rien à haut-niveau, comme essayer de deviner les modules du noyau et
+les paquets qui devraient être inclus dans l'initrd. Un exemple
+d'utilisation de @code{raw-initrd} serait si un utilisateur a une
+configuration personnalisée du noyau Linux et que les modules du noyau
+inclus par défaut par @code{base-initrd} ne sont pas disponibles.
-The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd}
-honors several options passed on the Linux kernel command line (that is,
-arguments passed @i{via} the @code{linux} command of GRUB, or the
-@code{-append} option of QEMU), notably:
+Le disque de RAM initial produit par @code{base-initrd} ou @code{raw-initrd}
+honore plusieurs options passées par la ligne de commande du noyau Linux
+(c'est-à-dire les arguments passés via la commande @code{linux} de GRUB ou
+l'option @code{-append} de QEMU), notamment :
@table @code
@item --load=@var{boot}
-Tell the initial RAM disk to load @var{boot}, a file containing a Scheme
-program, once it has mounted the root file system.
+Dit au disque de RAM initial de charger @var{boot}, un fichier contenant un
+programme Scheme, une fois qu'il a monté le système de fichier racine.
-GuixSD uses this option to yield control to a boot program that runs the
+Guix uses this option to yield control to a boot program that runs the
service activation programs and then spawns the GNU@tie{}Shepherd, the
initialization system.
@item --root=@var{root}
-Mount @var{root} as the root file system. @var{root} can be a device name
-like @code{/dev/sda1}, a file system label, or a file system UUID.
+Monte @var{root} comme système de fichier racine. @var{root} peut être un
+nom de périphérique comme @code{/dev/sda1}, une étiquette de système de
+fichiers ou un UUID de système de fichiers.
@item --system=@var{système}
-Have @file{/run/booted-system} and @file{/run/current-system} point to
-@var{system}.
+S'assure que @file{/run/booted-system} et @file{/run/current-system}
+pointent vers @var{system}.
@item modprobe.blacklist=@var{modules}@dots{}
-@cindex module, black-listing
-@cindex black list, of kernel modules
-Instruct the initial RAM disk as well as the @command{modprobe} command
-(from the kmod package) to refuse to load @var{modules}. @var{modules} must
-be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}.
+@cindex module, black-list
+@cindex black-list, des modules du noyau
+Dit au disque de RAM initial ainsi qu'à la commande @command{modprobe} (du
+paquet kmod) de refuser de charger @var{modules}. @var{modules} doit être
+une liste de noms de modules séparés par des virgules — p.@: ex.@:
+@code{usbkbd,9pnet}.
@item --repl
-Start a read-eval-print loop (REPL) from the initial RAM disk before it
-tries to load kernel modules and to mount the root file system. Our
-marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love
-it. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual},
-for more information on Guile's REPL.
+Démarre une boucle lecture-évaluation-affichage (REPL) depuis le disque de
+RAM initial avant qu'il n'essaye de charger les modules du noyau et de
+monter le système de fichiers racine. Notre équipe commerciale appelle cela
+@dfn{boot-to-Guile}. Le Schemeur en vous va adorer. @xref{Using Guile
+Interactively,,, guile, GNU Guile Reference Manual}, pour plus d'information
+sur le REPL de Guile.
@end table
-Now that you know all the features that initial RAM disks produced by
-@code{base-initrd} and @code{raw-initrd} provide, here is how to use it and
-customize it further.
+Maintenant que vous connaissez toutes les fonctionnalités des disques de RAM
+initiaux produits par @code{base-initrd} et @code{raw-initrd}, voici comment
+l'utiliser le personnalisé plus avant.
@cindex initrd
@cindex disque de RAM initial
@deffn {Procédure Scheme} raw-initrd @var{file-systems} @
- [#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()]
-[#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that
-builds a raw initrd. @var{file-systems} is a list of file systems to be
-mounted by the initrd, possibly in addition to the root file system
-specified on the kernel command line via @code{--root}. @var{linux-modules}
-is a list of kernel modules to be loaded at boot time. @var{mapped-devices}
-is a list of device mappings to realize before @var{file-systems} are
-mounted (@pxref{Périphériques mappés}). @var{helper-packages} is a list of
-packages to be copied in the initrd. It may include @code{e2fsck/static} or
-other packages needed by the initrd to check the root file system.
-
-When @var{qemu-networking?} is true, set up networking with the standard
-QEMU parameters. When @var{virtio?} is true, load additional modules so
-that the initrd can be used as a QEMU guest with para-virtualized I/O
-drivers.
-
-When @var{volatile-root?} is true, the root file system is writable but any
-changes to it are lost.
+ [#:linux-modules '()] [#:mapped-devices '()] @
+[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]
+Renvoie une dérivation qui construit un initrd. @var{file-systems} est une
+liste de systèmes de fichiers à monter par l'initrd, éventuellement en plus
+du système de fichier racine spécifié sur la ligne de commande du noyau via
+@code{--root}. @var{linux-modules} est une liste de modules du noyau à
+charger au démarrage. @var{mapped-devices} est une liste de correspondances
+de périphériques à réaliser avant que les @var{file-systems} ne soient
+montés (@pxref{Périphériques mappés}). @var{helper-packages} est une liste de
+paquets à copier dans l'initrd. Elle peut inclure @code{e2fsck/static} ou
+d'autres paquets requis par l'initrd pour vérifier le système de fichiers
+racine.
+
+Lorsque @var{qemu-networking?} est vrai, paramètre le réseau avec les
+paramètres QEMU standards. Lorsque @var{virtio?} est vrai, charge des
+modules supplémentaires pour que l'initrd puisse être utilisé comme client
+QEMU avec les pilotes I/O para-virtualisés.
+
+Lorsque @var{volatile-root?} est vrai, le système de fichier racine est
+inscriptible mais tous les changements seront perdus.
@end deffn
@deffn {Procédure Scheme} base-initrd @var{file-systems} @
- [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@
-[#:linux-modules '()] Return as a file-like object a generic initrd, with
-kernel modules taken from @var{linux}. @var{file-systems} is a list of
-file-systems to be mounted by the initrd, possibly in addition to the root
-file system specified on the kernel command line via @code{--root}.
-@var{mapped-devices} is a list of device mappings to realize before
-@var{file-systems} are mounted.
-
-@var{qemu-networking?} and @var{volatile-root?} behaves as in
+ [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f] @
+[#:linux-modules '()]
+Renvoie un objet simili-fichier contenant un initrd générique, avec les
+modules du noyau de @var{linux}. @var{file-systems} est une liste de
+systèmes de fichiers à monter par l'initrd, éventuellement en plus du
+système de fichiers racine spécifié sur la ligne de commande du noyau via
+@code{--root}. @var{mapped-devices} est une liste de correspondances de
+périphériques à réaliser avant de monter les @var{file-systems}.
+
+@var{qemu-networking?} et @var{volatile-root?} se comportent comme pour
@code{raw-initrd}.
-The initrd is automatically populated with all the kernel modules necessary
-for @var{file-systems} and for the given options. Additional kernel modules
-can be listed in @var{linux-modules}. They will be added to the initrd, and
-loaded at boot time in the order in which they appear.
+L'initrd est automatiquement remplie avec tous les modules du noyau requis
+pour @var{file-systems} et pour les options données. On peut lister des
+modules supplémentaires dans @var{linux-modules}. Ils seront ajoutés à
+l'initrd et chargés au démarrage dans l'ordre dans lequel ils apparaissent.
@end deffn
-Needless to say, the initrds we produce and use embed a statically-linked
-Guile, and the initialization program is a Guile program. That gives a lot
-of flexibility. The @code{expression->initrd} procedure builds such an
-initrd, given the program to run in that initrd.
+Inutile de le dire, les initrds que nous produisons et utilisons incluent
+une version de Guile liée statiquement, et le programme d'initialisation est
+un programme Guile. Cela donne beaucoup de flexibilité. La procédure
+@code{expression->initrd} construit un tel initrd, étant donné le programme
+à lancer dans cet initrd.
@deffn {Procédure Scheme} expression->initrd @var{exp} @
- [#:guile %guile-static-stripped] [#:name "guile-initrd"] Return as a
-file-like object a Linux initrd (a gzipped cpio archive) containing
-@var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All
-the derivations referenced by @var{exp} are automatically copied to the
-initrd.
+ [#:guile %guile-static-stripped] [#:name "guile-initrd"]
+Renvoie un objet simili-fichier contenant un initrd Linux (une archive cpio
+compressée avec gzip) contenant @var{guile} et qui évalue @var{exp}, une
+G-expression, au démarrage. Toutes les dérivations référencées par
+@var{exp} sont automatiquement copiées dans l'initrd.
@end deffn
@node Configuration du chargeur d'amorçage
-@subsection Configuration du chargeur d'amorçage
+@section Configuration du chargeur d'amorçage
@cindex bootloader
-@cindex boot loader
+@cindex chargeur d'amorçage
-The operating system supports multiple bootloaders. The bootloader is
-configured using @code{bootloader-configuration} declaration. All the
-fields of this structure are bootloader agnostic except for one field,
-@code{bootloader} that indicates the bootloader to be configured and
-installed.
+Le système d'exploitation supporte plusieurs chargeurs d'amorçage. La
+configuration du chargeur d'amorçage se fait avec la déclaration
+@code{bootloader-configuration}. Tous les champs de cette structure sont
+indépendants du chargeur d'amorçage sauf un, @code{bootloader} qui indique
+le chargeur d'amorçage à configurer et à installer.
-Some of the bootloaders do not honor every field of
-@code{bootloader-configuration}. For instance, the extlinux bootloader does
-not support themes and thus ignores the @code{theme} field.
+Certains chargeurs d'amorçage ne respectent pas tous les champs de
+@code{bootloader-configuration}. Par exemple, le chargeur d'amorçage
+extlinux ne supporte pas les thèmes et ignore donc le champ @code{theme}.
@deftp {Type de données} bootloader-configuration
-The type of a bootloader configuration declaration.
+Le type d'une déclaration de configuration de chargeur d'amorçage.
@table @asis
@item @code{bootloader}
-@cindex EFI, bootloader
-@cindex UEFI, bootloader
-@cindex BIOS, bootloader
-The bootloader to use, as a @code{bootloader} object. For now
-@code{grub-bootloader}, @code{grub-efi-bootloader},
-@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported.
+@cindex EFI, chargeur d'amorçage
+@cindex UEFI, chargeur d'amorçage
+@cindex BIOS, chargeur d'amorçage
+Le chargeur d'amorçage à utiliser, comme objet @code{bootloader}. Pour
+l'instant @code{grub-bootloader}, @code{grub-efi-bootloader},
+@code{extlinux-bootloader} et @code{u-boot-bootloader} sont supportés.
@vindex grub-efi-bootloader
-@code{grub-efi-bootloader} allows to boot on modern systems using the
-@dfn{Unified Extensible Firmware Interface} (UEFI). This is what you should
-use if the installation image contains a @file{/sys/firmware/efi} directory
-when you boot it on your system.
+@code{grub-efi-bootloader} permet de démarrer sur un système moderne qui
+utilise l'UEFI (@dfn{Unified Extensible Firmware Interface}). C'est ce que
+vous devriez utiliser si l'image d'installation contient un répertoire
+@file{/sys/firmware/efi} lorsque vous démarrez dessus sur votre machine.
@vindex grub-bootloader
-@code{grub-bootloader} allows you to boot in particular Intel-based machines
-in ``legacy'' BIOS mode.
+@code{grub-bootloader} vous permet de démarrer en particulier sur des
+machines Intel en mode BIOS « legacy ».
@cindex ARM, chargeurs d'amorçage
@cindex AArch64, chargeurs d'amorçage
-Available bootloaders are described in @code{(gnu bootloader @dots{})}
-modules. In particular, @code{(gnu bootloader u-boot)} contains definitions
-of bootloaders for a wide range of ARM and AArch64 systems, using the
-@uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}.
+Les chargeurs d'amorçage disponibles sont décrits dans les modules
+@code{(gnu bootloader @dots{})}. En particulier, @code{(gnu bootloader
+u-boot)} contient des définitions de chargeurs d'amorçage pour une large
+gamme de systèmes ARM et AArch, à l'aide du
+@uref{http://www.denx.de/wiki/U-Boot/, chargeur d'amorçage U-Boot}
@item @code{target}
-This is a string denoting the target onto which to install the bootloader.
+C'est une chaîne qui dénote la cible sur laquelle installer le chargeur
+d'amorçage.
-The interpretation depends on the bootloader in question. For
-@code{grub-bootloader}, for example, it should be a device name understood
-by the bootloader @command{installer} command, such as @code{/dev/sda} or
-@code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). For
-@code{grub-efi-bootloader}, it should be the mount point of the EFI file
-system, usually @file{/boot/efi}.
+L'interprétation dépend du chargeur d'amorçage en question. Pour
+@code{grub-bootloader} par exemple, cela devrait être un nom de périphérique
+compris par la commande @command{installer} du chargeur d'amorçage, comme
+@code{/dev/sda} ou @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU
+GRUB Manual}). Pour @code{grub-efi-bootloader}, cela devrait être le point
+de montage du système de fichiers EFI, typiquement @file{/boot/efi}.
@item @code{menu-entries} (par défaut : @code{()})
-A possibly empty list of @code{menu-entry} objects (see below), denoting
-entries to appear in the bootloader menu, in addition to the current system
-entry and the entry pointing to previous system generations.
+Une liste éventuellement vide d'objets @code{menu-entry} (voir plus bas),
+dénotant les entrées qui doivent apparaître dans le menu du chargeur
+d'amorçage, en plus de l'entrée pour le système actuel et l'entrée pointant
+vers les générations précédentes.
@item @code{default-entry} (par défaut : @code{0})
-The index of the default boot menu entry. Index 0 is for the entry of the
-current system.
+L'index de l'entrée du menu de démarrage par défaut. L'index 0 correspond
+au système actuel.
@item @code{timeout} (par défaut : @code{5})
-The number of seconds to wait for keyboard input before booting. Set to 0
-to boot immediately, and to -1 to wait indefinitely.
+Le nombre de secondes à attendre une entrée clavier avant de démarrer.
+Indiquez 0 pour démarre immédiatement, et -1 pour attendre indéfiniment.
@item @code{theme} (par défaut : @var{#f})
-The bootloader theme object describing the theme to use. If no theme is
-provided, some bootloaders might use a default theme, that's true for GRUB.
+L'objet de thème du chargeur d'amorçage décrivant le thème utilisé. Si
+aucun thème n'est fournit, certains chargeurs d'amorçage peuvent utiliser un
+thème par défaut, c'est le cas de GRUB.
@item @code{terminal-outputs} (par défaut : @code{'gfxterm})
-The output terminals used for the bootloader boot menu, as a list of
-symbols. GRUB accepts the values: @code{console}, @code{serial},
-@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text},
-@code{morse}, and @code{pkmodem}. This field corresponds to the GRUB
-variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,,
-grub,GNU GRUB manual}).
+Les terminaux de sortie utilisés par le menu de démarrage du chargeur
+d'amorçage, en tant que liste de symboles. GRUB accepte les valeurs
+@code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{gfxterm},
+@code{vga_text}, @code{mda_text}, @code{morse} et @code{pkmodem}. Ce champ
+correspond à la variable GRUB @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple
+configuration,,, grub,GNU GRUB manual}).
@item @code{terminal-inputs} (par défaut : @code{'()})
-The input terminals used for the bootloader boot menu, as a list of
-symbols. For GRUB, the default is the native platform terminal as
-determined at run-time. GRUB accepts the values: @code{console},
-@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and
-@code{usb_keyboard}. This field corresponds to the GRUB variable
-@code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB
-manual}).
+Les terminaux d'entrée utilisés par le menu de démarrage du chargeur
+d'amorçage, en tant que liste de symboles. Pour GRUB, la valeur par défaut
+est le terminal natif de la plate-forme déterminé à l'exécution. GRUB
+accepte les valeurs @code{console}, @code{serial}, @code{serial_@{0-3@}},
+@code{at_keyboard} et @code{usb_keyboard}. Ce champ correspond à la
+variable GRUB @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,,
+grub,GNU GRUB manual}).
@item @code{serial-unit} (par défaut : @code{#f})
-The serial unit used by the bootloader, as an integer from 0 to 3. For
-GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds
-to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
+L'unitié série utilisée par le chargeur d'amorçage, en tant qu'entier entre
+0 et 3. Pour GRUB, il est choisi à l'exécution ; actuellement GRUB choisi
+0, ce qui correspond à COM1 (@pxref{Serial terminal,,, grub,GNU GRUB
+manual}).
@item @code{serial-speed} (par défaut : @code{#f})
-The speed of the serial interface, as an integer. For GRUB, the default
-value is chosen at run-time; currently GRUB chooses 9600@tie{}bps
-(@pxref{Serial terminal,,, grub,GNU GRUB manual}).
+La vitesse de l'interface série, en tant qu'entier. Pour GRUB, la valeur
+par défaut est choisie à l'exécution ; actuellement GRUB choisi
+9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
@end table
@end deftp
@cindex dual boot
-@cindex boot menu
-Should you want to list additional boot menu entries @i{via} the
-@code{menu-entries} field above, you will need to create them with the
-@code{menu-entry} form. For example, imagine you want to be able to boot
-another distro (hard to imagine!), you can define a menu entry along these
-lines:
+@cindex menu de démarrage
+Si vous voulez lister des entrées du menu de démarrage supplémentaires via
+le champ @code{menu-entries} ci-dessus, vous devrez les créer avec la forme
+@code{menu-entry}. Par exemple, imaginons que vous souhaitiez pouvoir
+démarrer sur une autre distro (c'est difficile à concevoir !), vous pourriez
+alors définir une entrée du menu comme ceci :
@example
(menu-entry
- (label "The Other Distro")
+ (label "L'autre distro")
(linux "/boot/old/vmlinux-2.6.32")
(linux-arguments '("root=/dev/sda2"))
(initrd "/boot/old/initrd"))
@end example
-Details below.
+Les détails suivent.
@deftp {Type de données} menu-entry
-The type of an entry in the bootloader menu.
+Le type d'une entrée dans le menu du chargeur d'amorçage.
@table @asis
@item @code{label}
-The label to show in the menu---e.g., @code{"GNU"}.
+L'étiquette à montrer dans le menu — p.@: ex.@: @code{"GNU"}.
@item @code{linux}
-The Linux kernel image to boot, for example:
+L'image du noyau Linux à démarrer, par exemple :
@example
(file-append linux-libre "/bzImage")
@end example
-For GRUB, it is also possible to specify a device explicitly in the file
-path using GRUB's device naming convention (@pxref{Naming convention,,,
-grub, GNU GRUB manual}), for example:
+Pour GRUB, il est aussi possible de spécifier un périphérique explicitement
+dans le chemin de fichier avec la convention de nommage de GRUB
+(@pxref{Naming convention,,, grub, GNU GRUB manual}), par exemple :
@example
"(hd0,msdos1)/boot/vmlinuz"
@end example
-If the device is specified explicitly as above, then the @code{device} field
-is ignored entirely.
+Si le périphérique est spécifié explicitement comme au-dessus, le champ
+@code{device} est complètement ignoré.
@item @code{linux-arguments} (par défaut : @code{()})
-The list of extra Linux kernel command-line arguments---e.g.,
-@code{("console=ttyS0")}.
+La liste des arguments de la ligne de commande du noyau supplémentaires —
+p.@: ex.@: @code{("console=ttyS0")}.
@item @code{initrd}
-A G-Expression or string denoting the file name of the initial RAM disk to
-use (@pxref{G-Expressions}).
+Une G-expression ou une chaîne dénotant le nom de fichier du disque de RAM
+initial à utiliser (@pxref{G-Expressions}).
@item @code{device} (par défaut : @code{#f})
-The device where the kernel and initrd are to be found---i.e., for GRUB,
-@dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual}).
+Le périphérique où le noyau et l'initrd se trouvent — c.-à-d.@: pour GRUB,
+l'option @dfn{root} de cette entrée de menu (@pxref{root,,, grub, GNU GRUB
+manual}).
-This may be a file system label (a string), a file system UUID (a
-bytevector, @pxref{Systèmes de fichiers}), or @code{#f}, in which case the
-bootloader will search the device containing the file specified by the
-@code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It must
-@emph{not} be an OS device name such as @file{/dev/sda1}.
+Cela peut être une étiquette de système de fichiers (une chaîne), un UUID de
+système de fichiers (un vecteur d'octets, @pxref{Systèmes de fichiers}) ou
+@code{#f}, auquel cas le chargeur d'amorçage recherchera le périphérique
+contenant le fichier spécifié par le champ @code{linux} (@pxref{search,,,
+grub, GNU GRUB manual}). Cela ne doit @emph{pas} être un nom de
+périphérique donné par l'OS comme @file{/dev/sda1}.
@end table
@end deftp
@c FIXME: Write documentation once it's stable.
-Fow now only GRUB has theme support. GRUB themes are created using the
-@code{grub-theme} form, which is not documented yet.
+Pour l'instant seul GRUB supporte les thèmes. On crée un thème GRUB avec la
+forme @code{grub-theme}, qui n'est pas encore documentée.
@defvr {Variable Scheme} %default-theme
-This is the default GRUB theme used by the operating system if no
-@code{theme} field is specified in @code{bootloader-configuration} record.
+C'est le thème par défaut de GRUB utilisé par le système d'exploitation si
+aucun champ @code{theme} n'est spécifié dans l'enregistrement
+@code{bootloader-configuration}.
-It comes with a fancy background image displaying the GNU and Guix logos.
+Il contient une image de fond sympathique avec les logos de GNU et de Guix.
@end defvr
@node Invoquer guix system
-@subsection Invoquer @code{guix system}
+@section Invoquer @code{guix system}
-Once you have written an operating system declaration as seen in the
-previous section, it can be @dfn{instantiated} using the @command{guix
-system} command. The synopsis is:
+Une fois que vous avez écrit une déclaration de système d'exploitation comme
+nous l'avons vu dans les sections précédentes, elle peut être instanciée
+avec la commande @command{guix system}. Voici le résumé de la commande :
@example
guix system @var{options}@dots{} @var{action} @var{file}
@end example
-@var{file} must be the name of a file containing an @code{operating-system}
-declaration. @var{action} specifies how the operating system is
-instantiated. Currently the following values are supported:
+@var{file} doit être le nom d'un fichier contenant une déclaration
+@code{operating-system}. @var{action} spécifie comme le système
+d'exploitation est instancié. Actuellement les valeurs suivantes sont
+supportées :
@table @code
@item search
-Display available service type definitions that match the given regular
-expressions, sorted by relevance:
+Affiche les définitions des types de services disponibles qui correspondent
+aux expressions régulières données, triées par pertinence.
@example
$ guix system search console font
name: console-fonts
-location: gnu/services/base.scm:729:2
+location: gnu/services/base.scm:773:2
extends: shepherd-root
-description: Install the given fonts on the specified ttys (fonts are
-+ per virtual console on GNU/Linux). The value of this service is a list
-+ of tty/font pairs like:
+description: Installe des polices données sur les ttys spécifiés (les polices sont par console virtuelle sous GNU/Linux). la valeur de ces service est une liste de paires
++ de tty/police comme ceci :
+
+ '(("tty1" . "LatGrkCyr-8x16"))
-relevance: 20
+relevance: 16
name: mingetty
-location: gnu/services/base.scm:1048:2
+location: gnu/services/base.scm:1144:2
extends: shepherd-root
-description: Provide console login using the `mingetty' program.
-relevance: 2
+description: Fournit la connexion en console avec le programme `mingetty'.
+relevance: 4
name: login
-location: gnu/services/base.scm:775:2
+location: gnu/services/base.scm:819:2
extends: pam
-description: Provide a console log-in service as specified by its
-+ configuration value, a `login-configuration' object.
-relevance: 2
+description: Fournit un service de connexion en console tel que spécifié par sa valeur de configuration, un objet `login-configuration'.
+relevance: 4
@dots{}
@end example
-As for @command{guix package --search}, the result is written in
-@code{recutils} format, which makes it easy to filter the output
-(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual}).
+Comme pour @command{guix package --search}, le résultat est écrit au format
+@code{recutils}, ce qui rend facile le filtrage de la sortie (@pxref{Top,
+GNU recutils databases,, recutils, GNU recutils manual}).
@item reconfigure
Build the operating system described in @var{file}, activate it, and switch
to it@footnote{This action (and the related actions @code{switch-generation}
-and @code{roll-back}) are usable only on systems already running GuixSD.}.
+and @code{roll-back}) are usable only on systems already running Guix
+System.}.
This effects all the configuration specified in @var{file}: user accounts,
system services, global package list, setuid programs, etc. The command
@@ -22896,168 +23670,217 @@ running; if a service is currently running this command will arrange for it
to be upgraded the next time it is stopped (e.g.@: by @code{herd stop X} or
@code{herd restart X}).
-This command creates a new generation whose number is one greater than the
-current generation (as reported by @command{guix system list-generations}).
-If that generation already exists, it will be overwritten. This behavior
-mirrors that of @command{guix package} (@pxref{Invoquer guix package}).
+Cette commande crée une nouvelle génération dont le numéro est un de plus
+que la génération actuelle (rapportée par @command{guix system
+list-generations}). Si cette génération existe déjà, elle sera réécrite.
+Ce comportement correspond à celui de @command{guix package}
+(@pxref{Invoquer guix package}).
-It also adds a bootloader menu entry for the new OS configuration, ---unless
-@option{--no-bootloader} is passed. For GRUB, it moves entries for older
-configurations to a submenu, allowing you to choose an older system
-generation at boot time should you need it.
+Elle ajoute aussi une entrée de menu du chargeur d'amorçage pour la nouvelle
+configuration, à moins que @option{--no-bootloader} ne soit passé. Pour
+GRUB, elle déplace les entrées pour les anciennes configurations dans un
+sous-menu, ce qui vous permet de choisir une ancienne génération au
+démarrage si vous en avez besoin.
@quotation Remarque
@c The paragraph below refers to the problem discussed at
@c <http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00057.html>.
-It is highly recommended to run @command{guix pull} once before you run
-@command{guix system reconfigure} for the first time (@pxref{Invoquer guix pull}). Failing to do that you would see an older version of Guix once
-@command{reconfigure} has completed.
+Il est grandement recommandé de lancer @command{guix pull} une fois avant de
+lancer @command{guix system reconfigure} pour la première fois
+(@pxref{Invoquer guix pull}). Sans cela, vous verriez une version plus
+ancienne de Guix une fois @command{reconfigure} terminé.
@end quotation
@item switch-generation
@cindex générations
-Switch to an existing system generation. This action atomically switches
-the system profile to the specified system generation. It also rearranges
-the system's existing bootloader menu entries. It makes the menu entry for
-the specified system generation the default, and it moves the entries for
-the other generatiors to a submenu, if supported by the bootloader being
-used. The next time the system boots, it will use the specified system
-generation.
+Passe à une génération existante du système. Cette action change
+automatiquement le profil système vers la génération spécifiée. Elle
+réarrange aussi les entrées existantes du menu du chargeur d'amorçage du
+système. Elle fait de l'entrée du menu pour la génération spécifiée
+l'entrée par défaut et déplace les entrées pour les autres générations dans
+un sous-menu, si cela est supporté par le chargeur d'amorçage utilisé. Lors
+du prochain démarrage du système, la génération du système spécifiée sera
+utilisée.
-The bootloader itself is not being reinstalled when using this command.
-Thus, the installed bootloader is used with an updated configuration file.
+Le chargeur d'amorçage lui-même n'est pas réinstallé avec cette commande.
+Ainsi, le chargeur d'amorçage est utilisé avec un fichier de configuration
+plus à jour.
-The target generation can be specified explicitly by its generation number.
-For example, the following invocation would switch to system generation 7:
+La génération cible peut être spécifiée explicitement par son numéro de
+génération. Par exemple, l'invocation suivante passerait à la génération 7
+du système :
@example
guix system switch-generation 7
@end example
-The target generation can also be specified relative to the current
-generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3
-generations ahead of the current generation,'' and @code{-1} means ``1
-generation prior to the current generation.'' When specifying a negative
-value such as @code{-1}, you must precede it with @code{--} to prevent it
-from being parsed as an option. For example:
+La génération cible peut aussi être spécifiée relativement à la génération
+actuelle avec la forme @code{+N} ou @code{-N}, où @code{+3} signifie « trois
+générations après la génération actuelle » et @code{-1} signifie « une
+génération précédent la génération actuelle ». Lorsque vous spécifiez un
+nombre négatif comme @code{-1}, il doit être précédé de @code{--} pour
+éviter qu'il ne soit compris comme une option. Par exemple :
@example
guix system switch-generation -- -1
@end example
-Currently, the effect of invoking this action is @emph{only} to switch the
-system profile to an existing generation and rearrange the bootloader menu
-entries. To actually start using the target system generation, you must
-reboot after running this action. In the future, it will be updated to do
-the same things as @command{reconfigure}, like activating and deactivating
-services.
+Actuellement, l'effet de l'invocation de cette action est @emph{uniquement}
+de passer au profil du système vers une autre génération existante et de
+réarranger le menu du chargeur d'amorçage. Pour vraiment commencer à
+utiliser la génération spécifiée, vous devez redémarrer après avoir lancé
+cette action. Dans le futur, elle sera corrigée pour faire la même chose
+que @command{reconfigure}, comme réactiver et désactiver les services.
-This action will fail if the specified generation does not exist.
+Cette action échouera si la génération spécifiée n'existe pas.
@item roll-back
@cindex revenir en arrière
-Switch to the preceding system generation. The next time the system boots,
-it will use the preceding system generation. This is the inverse of
-@command{reconfigure}, and it is exactly the same as invoking
-@command{switch-generation} with an argument of @code{-1}.
+Passe à la génération précédente du système. Au prochain démarrage, la
+génération précédente sera utilisée. C'est le contraire de
+@command{reconfigure}, et c'est exactement comme invoquer
+@command{switch-generation} avec pour argument @code{-1}.
+
+Actuellement, comme pour @command{switch-generation}, vous devez redémarrer
+après avoir lancé cette action pour vraiment démarrer sur la génération
+précédente du système.
+
+@item delete-generations
+@cindex deleting system generations
+@cindex saving space
+Delete system generations, making them candidates for garbage collection
+(@pxref{Invoquer guix gc}, for information on how to run the ``garbage
+collector'').
+
+This works in the same way as @command{guix package --delete-generations}
+(@pxref{Invoquer guix package, @code{--delete-generations}}). With no
+arguments, all system generations but the current one are deleted:
+
+@example
+guix system delete-generations
+@end example
-Currently, as with @command{switch-generation}, you must reboot after
-running this action to actually start using the preceding system generation.
+You can also select the generations you want to delete. The example below
+deletes all the system generations that are more than two month old:
+
+@example
+guix system delete-generations 2m
+@end example
+
+Running this command automatically reinstalls the bootloader with an updated
+list of menu entries---e.g., the ``old generations'' sub-menu in GRUB no
+longer lists the generations that have been deleted.
@item build
-Build the derivation of the operating system, which includes all the
-configuration files and programs needed to boot and run the system. This
-action does not actually install anything.
+Construit la dérivation du système d'exploitation, ce qui comprend tous les
+fichiers de configuration et les programmes requis pour démarrer et lancer
+le système. Cette action n'installe rien.
@item init
Populate the given directory with all the files necessary to run the
operating system specified in @var{file}. This is useful for first-time
-installations of GuixSD. For instance:
+installations of Guix System. For instance:
@example
guix system init my-os-config.scm /mnt
@end example
-copies to @file{/mnt} all the store items required by the configuration
-specified in @file{my-os-config.scm}. This includes configuration files,
-packages, and so on. It also creates other essential files needed for the
-system to operate correctly---e.g., the @file{/etc}, @file{/var}, and
-@file{/run} directories, and the @file{/bin/sh} file.
+copie tous les éléments du dépôt requis par la configuration spécifiée dans
+@file{my-os-config.scm} dans @file{/mnt}. Cela comprend les fichiers de
+configuration, les paquets, etc. Elle crée aussi d'autres fichiers
+essentiels requis pour que le système fonctionne correctement — p.@: ex.@:
+les répertoires @file{/etc}, @file{/var} et @file{/run} et le fichier
+@file{/bin/sh}.
-This command also installs bootloader on the target specified in
-@file{my-os-config}, unless the @option{--no-bootloader} option was passed.
+Cette commande installe aussi le chargeur d'amorçage sur la cible spécifiée
+dans @file{my-os-config}, à moins que l'option @option{--no-bootloader} ne
+soit passée.
@item vm
-@cindex virtual machine
+@cindex machine virtuelle
@cindex VM
@anchor{guix system vm}
Build a virtual machine that contains the operating system declared in
-@var{file}, and return a script to run that virtual machine (VM). Arguments
-given to the script are passed to QEMU as in the example below, which
-enables networking and requests 1@tie{}GiB of RAM for the emulated machine:
+@var{file}, and return a script to run that virtual machine (VM).
+
+@quotation Remarque
+The @code{vm} action and others below can use KVM support in the Linux-libre
+kernel. Specifically, if the machine has hardware virtualization support,
+the corresponding KVM kernel module should be loaded, and the
+@file{/dev/kvm} device node must exist and be readable and writable by the
+user and by the build users of the daemon (@pxref{Réglages de l'environnement de construction}).
+@end quotation
+
+Arguments given to the script are passed to QEMU as in the example below,
+which enables networking and requests 1@tie{}GiB of RAM for the emulated
+machine:
@example
$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user
@end example
-The VM shares its store with the host system.
+La VM partage sont dépôt avec le système hôte.
-Additional file systems can be shared between the host and the VM using the
-@code{--share} and @code{--expose} command-line options: the former
-specifies a directory to be shared with write access, while the latter
-provides read-only access to the shared directory.
+Vous pouvez partager des fichiers supplémentaires entre l'hôte et la VM avec
+les options en ligne de commande @code{--share} et @code{--expose} : la
+première spécifie un répertoire à partager avec accès en écriture, tandis
+que le deuxième fournit un accès en lecture-seule au répertoire partagé.
-The example below creates a VM in which the user's home directory is
-accessible read-only, and where the @file{/exchange} directory is a
-read-write mapping of @file{$HOME/tmp} on the host:
+L'exemple ci-dessous crée une VM dans laquelle le répertoire personnel de
+l'utilisateur est accessible en lecture-seule, et où le répertoire
+@file{/exchange} est une correspondance en lecture-écriture à
+@file{$HOME/tmp} sur l'hôte :
@example
guix system vm my-config.scm \
--expose=$HOME --share=$HOME/tmp=/exchange
@end example
-On GNU/Linux, the default is to boot directly to the kernel; this has the
-advantage of requiring only a very tiny root disk image since the store of
-the host can then be mounted.
+Sur GNU/Linux, le comportement par défaut consiste à démarrer directement
+sur le noyau ; cela a l'avantage de n'avoir besoin que d'une toute petite
+image disque puisque le dépôt de l'hôte peut ensuite être monté.
-The @code{--full-boot} option forces a complete boot sequence, starting with
-the bootloader. This requires more disk space since a root image containing
-at least the kernel, initrd, and bootloader data files must be created. The
-@code{--image-size} option can be used to specify the size of the image.
+L'option @code{--full-boot} force une séquence de démarrage complète, en
+commençant par le chargeur d'amorçage. Cela requiert plus d'espace disque
+puisqu'une image racine contenant au moins le noyau, l'initrd et les
+fichiers de données du chargeur d'amorçage doit être créé. On peut utiliser
+l'option @code{--image-size} pour spécifier la taille de l'image.
-@cindex System images, creation in various formats
-@cindex Creating system images in various formats
+@cindex Images système, création en divers formats
+@cindex Créer des images systèmes sous différents formats
@item vm-image
@itemx disk-image
@itemx docker-image
-Return a virtual machine, disk image, or Docker image of the operating
-system declared in @var{file} that stands alone. By default, @command{guix
-system} estimates the size of the image needed to store the system, but you
-can use the @option{--image-size} option to specify a value. Docker images
-are built to contain exactly what they need, so the @option{--image-size}
-option is ignored in the case of @code{docker-image}.
+Renvoie une machine virtuelle, une image disque ou une image Docker du
+système d'exploitation déclaré dans @var{file} qui se suffit à elle-même.
+Par défaut, @command{guix system} estime la taille de l'image requise pour
+stocker le système, mais vous pouvez utiliser l'option @option{--image-size}
+pour spécifier une valeur. Les images Docker sont construites pour contenir
+exactement ce dont elles ont besoin, donc l'option @option{--image-size} est
+ignorée dans le cas de @code{docker-image}.
-You can specify the root file system type by using the
-@option{--file-system-type} option. It defaults to @code{ext4}.
+Vous pouvez spécifier le type de système de fichiers racine avec l'option
+@option{--file-system-type}. La valeur par défaut est @code{ext4}.
When using @code{vm-image}, the returned image is in qcow2 format, which the
-QEMU emulator can efficiently use. @xref{Lancer GuixSD dans une VM}, for more
+QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more
information on how to run the image in a virtual machine.
-When using @code{disk-image}, a raw disk image is produced; it can be copied
-as is to a USB stick, for instance. Assuming @code{/dev/sdc} is the device
-corresponding to a USB stick, one can copy the image to it using the
-following command:
+Lorsque vous utilisez @code{disk-image}, une image disque brute est produite
+; elle peut être copiée telle quelle sur un périphérique USB. En supposant
+que @code{/dev/sdc} est le périphérique correspondant à une clef USB, on
+peut copier l'image dessus avec la commande suivante :
@example
# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc
@end example
-When using @code{docker-image}, a Docker image is produced. Guix builds the
-image from scratch, not from a pre-existing Docker base image. As a result,
-it contains @emph{exactly} what you define in the operating system
-configuration file. You can then load the image and launch a Docker
-container using commands like the following:
+En utilisant @code{docker-image}, on produit une image Docker. Guix
+construit l'image de zéro, et non à partir d'une image Docker de base
+pré-existante. En conséquence, elle contient @emph{exactly} ce que vous
+avez défini dans le fichier de configuration du système. Vous pouvez
+ensuite charger l'image et lancer un conteneur Docker avec des commande
+comme :
@example
image_id="$(docker load < guixsd-docker-image.tar.gz)"
@@ -23067,27 +23890,29 @@ docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\
@end example
This command starts a new Docker container from the specified image. It
-will boot the GuixSD system in the usual manner, which means it will start
-any services you have defined in the operating system configuration.
-Depending on what you run in the Docker container, it may be necessary to
-give the container additional permissions. For example, if you intend to
-build software using Guix inside of the Docker container, you may need to
-pass the @option{--privileged} option to @code{docker run}.
+will boot the Guix system in the usual manner, which means it will start any
+services you have defined in the operating system configuration. Depending
+on what you run in the Docker container, it may be necessary to give the
+container additional permissions. For example, if you intend to build
+software using Guix inside of the Docker container, you may need to pass the
+@option{--privileged} option to @code{docker run}.
@item conteneur
-Return a script to run the operating system declared in @var{file} within a
-container. Containers are a set of lightweight isolation mechanisms
-provided by the kernel Linux-libre. Containers are substantially less
-resource-demanding than full virtual machines since the kernel, shared
-objects, and other resources can be shared with the host system; this also
-means they provide thinner isolation.
+Renvoie un script qui lance le système d'exploitation déclaré dans
+@var{file} dans un conteneur. Les conteneurs sont un ensemble de mécanismes
+d'isolation légers fournis par le noyau Linux-libre. Les conteneurs sont
+substantiellement moins gourmands en ressources que les machines virtuelles
+complètes car le noyau, les objets partagés et d'autres ressources peuvent
+être partagés avec le système hôte ; cela signifie aussi une isolation moins
+complète.
-Currently, the script must be run as root in order to support more than a
-single user and group. The container shares its store with the host system.
+Actuellement, le script doit être lancé en root pour pouvoir supporter plus
+d'un utilisateur et d'un groupe. Le conteneur partage son dépôt avec le
+système hôte.
-As with the @code{vm} action (@pxref{guix system vm}), additional file
-systems to be shared between the host and container can be specified using
-the @option{--share} and @option{--expose} options:
+Comme avec l'action @code{vm} (@pxref{guix system vm}), des systèmes de
+fichiers supplémentaires peuvent être partagés entre l'hôte et le conteneur
+avec les options @option{--share} et @option{--expose} :
@example
guix system container my-config.scm \
@@ -23095,52 +23920,53 @@ guix system container my-config.scm \
@end example
@quotation Remarque
-This option requires Linux-libre 3.19 or newer.
+Cette option requiert Linux-libre ou supérieur.
@end quotation
@end table
-@var{options} can contain any of the common build options (@pxref{Options de construction communes}). In addition, @var{options} can contain one of the
-following:
+@var{options} peut contenir n'importe quelle option commune de construction
+(@pxref{Options de construction communes}). En plus, @var{options} peut contenir l'une
+de ces options :
@table @option
@item --expression=@var{expr}
@itemx -e @var{expr}
Consider the operating-system @var{expr} evaluates to. This is an
alternative to specifying a file which evaluates to an operating system.
-This is used to generate the GuixSD installer @pxref{Construire l'image d'installation}).
+This is used to generate the Guix system installer @pxref{Construire l'image d'installation}).
@item --system=@var{système}
@itemx -s @var{système}
-Attempt to build for @var{system} instead of the host system type. This
-works as per @command{guix build} (@pxref{Invoquer guix build}).
+Essaye de construire pour @var{system} au lieu du type du système hôte.
+Cela fonction comme pour @command{guix build} (@pxref{Invoquer guix build}).
@item --derivation
@itemx -d
-Return the derivation file name of the given operating system without
-building anything.
+Renvoie le nom du fichier de dérivation du système d'exploitation donné sans
+rien construire.
@item --file-system-type=@var{type}
@itemx -t @var{type}
-For the @code{disk-image} action, create a file system of the given
-@var{type} on the image.
+Pour l'action @code{disk-image}, crée un système de fichier du @var{type}
+donné sur l'image.
-When this option is omitted, @command{guix system} uses @code{ext4}.
+Lorsque cette option est omise, @command{guix system} utilise @code{ext4}.
-@cindex ISO-9660 format
-@cindex CD image format
-@cindex DVD image format
-@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable for
-burning on CDs and DVDs.
+@cindex format ISO-9660
+@cindex format d'image de CD
+@cindex format d'image de DVD
+@code{--file-system-type=iso9660} produit une image ISO-9660, qu'il est
+possible de graver sur un CD ou un DVD.
@item --image-size=@var{size}
-For the @code{vm-image} and @code{disk-image} actions, create an image of
-the given @var{size}. @var{size} may be a number of bytes, or it may
-include a unit as a suffix (@pxref{Block size, size specifications,,
+Pour les actions @code{vm-image} et @code{disk-image}, crée une image de la
+taille donnée @var{size}. @var{size} peut être un nombre d'octets ou
+contenir un suffixe d'unité (@pxref{Block size, size specifications,,
coreutils, GNU Coreutils}).
-When this option is omitted, @command{guix system} computes an estimate of
-the image size as a function of the size of the system declared in
+Lorsque cette option est omise, @command{guix system} calcule une estimation
+de la taille de l'image en fonction de la taille du système déclaré dans
@var{file}.
@item --root=@var{fichier}
@@ -23149,59 +23975,58 @@ Fait de @var{fichier} un lien symbolique vers le résultat, et l'enregistre
en tant que racine du ramasse-miettes.
@item --skip-checks
-Skip pre-installation safety checks.
-
-By default, @command{guix system init} and @command{guix system reconfigure}
-perform safety checks: they make sure the file systems that appear in the
-@code{operating-system} declaration actually exist (@pxref{Systèmes de fichiers}),
-and that any Linux kernel modules that may be needed at boot time are listed
-in @code{initrd-modules} (@pxref{Disque de RAM initial}). Passing this option
-skips these tests altogether.
-
+Passe les vérifications de sécurité avant l'installation.
+
+Par défaut, @command{guix system init} et @command{guix system reconfigure}
+effectuent des vérifications de sécurité : ils s'assurent que les systèmes
+de fichiers qui apparaissent dans la déclaration @code{operating-system}
+existent vraiment (@pxref{Systèmes de fichiers}) et que les modules de noyau Linux
+qui peuvent être requis au démarrage sont listés dans @code{initrd-modules}
+(@pxref{Disque de RAM initial}). Passer cette option saute ces vérifications
+complètement.
+
+@cindex on-error
+@cindex on-error strategy
+@cindex error strategy
@item --on-error=@var{strategy}
-Apply @var{strategy} when an error occurs when reading @var{file}.
-@var{strategy} may be one of the following:
+Applique @var{strategy} lorsqu'une erreur arrive lors de la lecture de
+@var{file}. @var{strategy} peut être l'une des valeurs suivantes :
@table @code
@item nothing-special
-Report the error concisely and exit. This is the default strategy.
+Rapporte l'erreur de manière concise et quitte. C'est la stratégie par
+défaut.
@item backtrace
-Likewise, but also display a backtrace.
+Pareil, mais affiche aussi une trace de débogage.
@item debug
-Report the error and enter Guile's debugger. From there, you can run
-commands such as @code{,bt} to get a backtrace, @code{,locals} to display
-local variable values, and more generally inspect the state of the program.
-@xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of
-available debugging commands.
+Rapporte l'erreur et entre dans le débogueur Guile. À partir de là, vous
+pouvez lancer des commandes comme @code{,bt} pour obtenir une trace de
+débogage, @code{,locals} pour afficher les valeurs des variables locales et
+plus généralement inspecter l'état du programme. @xref{Debug Commands,,,
+guile, GNU Guile Reference Manual}, pour une liste de commandes de débogage
+disponibles.
@end table
@end table
-@quotation Remarque
-All the actions above, except @code{build} and @code{init}, can use KVM
-support in the Linux-libre kernel. Specifically, if the machine has
-hardware virtualization support, the corresponding KVM kernel module should
-be loaded, and the @file{/dev/kvm} device node must exist and be readable
-and writable by the user and by the build users of the daemon (@pxref{Réglages de l'environnement de construction}).
-@end quotation
-
Once you have built, configured, re-configured, and re-re-configured your
-GuixSD installation, you may find it useful to list the operating system
+Guix installation, you may find it useful to list the operating system
generations available on disk---and that you can choose from the bootloader
boot menu:
@table @code
@item list-generations
-List a summary of each generation of the operating system available on disk,
-in a human-readable way. This is similar to the @option{--list-generations}
-option of @command{guix package} (@pxref{Invoquer guix package}).
+Affiche un résumé de chaque génération du système d'exploitation disponible
+sur le disque, dans un format lisible pour un humain. C'est similaire à
+l'option @option{--list-generations} de @command{guix package}
+(@pxref{Invoquer guix package}).
-Optionally, one can specify a pattern, with the same syntax that is used in
-@command{guix package --list-generations}, to restrict the list of
-generations displayed. For instance, the following command displays
-generations that are up to 10 days old:
+Éventuellement, on peut spécifier un motif, avec la même syntaxe utilisée
+pour @command{guix package --list-generations}, pour restreindre la liste
+des générations affichées. Par exemple, la commande suivante affiche les
+générations de moins de 10 jours :
@example
$ guix system list-generations 10d
@@ -23209,39 +24034,43 @@ $ guix system list-generations 10d
@end table
-The @command{guix system} command has even more to offer! The following
-sub-commands allow you to visualize how your system services relate to each
-other:
+La commande @command{guix system} a même plus à proposer ! Les
+sous-commandes suivantes vous permettent de visualiser comme vos services
+systèmes sont liés les uns aux autres :
@anchor{system-extension-graph}
@table @code
@item extension-graph
-Emit in Dot/Graphviz format to standard output the @dfn{service extension
-graph} of the operating system defined in @var{file} (@pxref{Composition de services}, for more information on service extensions.)
+Affiche le @dfn{graphe d'extension des services} du système d'exploitation
+défini dans @var{file} au format Dot/Graphviz sur la sortie standard
+(@pxref{Composition de services}, pour plus d'informations sur l'extension des
+services).
-The command:
+La commande :
@example
$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf
@end example
-produces a PDF file showing the extension relations among services.
+produit un fichier PDF montrant les relations d'extension entre les
+services.
@anchor{system-shepherd-graph}
@item shepherd-graph
-Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of
-shepherd services of the operating system defined in @var{file}.
-@xref{Services Shepherd}, for more information and for an example graph.
+Affiche le @dfn{graphe de dépendance} des services shepherd du système
+d'exploitation défini dans @var{file} au format Dot/Graphviz sur la sortie
+standard. @xref{Services Shepherd}, pour plus d'informations et un exemple
+de graphe.
@end table
-@node Lancer GuixSD dans une VM
-@subsection Running GuixSD in a Virtual Machine
+@node Running Guix in a VM
+@section Running Guix in a Virtual Machine
-@cindex virtual machine
-To run GuixSD in a virtual machine (VM), one can either use the pre-built
-GuixSD VM image distributed at
+@cindex machine virtuelle
+To run Guix in a virtual machine (VM), one can either use the pre-built Guix
+VM image distributed at
@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz}
, or build their own virtual machine image using @command{guix system
vm-image} (@pxref{Invoquer guix system}). The returned image is in qcow2
@@ -23249,10 +24078,12 @@ format, which the @uref{http://qemu.org/, QEMU emulator} can efficiently
use.
@cindex QEMU
-If you built your own image, you must copy it out of the store (@pxref{Le dépôt}) and give yourself permission to write to the copy before you can use
-it. When invoking QEMU, you must choose a system emulator that is suitable
-for your hardware platform. Here is a minimal QEMU invocation that will
-boot the result of @command{guix system vm-image} on x86_64 hardware:
+Si vous construisez votre propre image, vous devez la copier en dehors du
+dépôt (@pxref{Le dépôt}) et vous donner la permission d'écrire sur la copie
+avant de pouvoir l'utiliser. Lorsque vous invoquez QEMU, vous devez choisir
+un émulateur système correspondant à votre plate-forme matérielle. Voici
+une invocation minimale de QEMU qui démarrera le résultat de @command{guix
+system vm-image} sur un matériel x8_64.
@example
$ qemu-system-x86_64 \
@@ -23260,84 +24091,85 @@ $ qemu-system-x86_64 \
-enable-kvm -m 256 /tmp/qemu-image
@end example
-Here is what each of these options means:
+Voici la signification de ces options :
@table @code
@item qemu-system-x86_64
-This specifies the hardware platform to emulate. This should match the
-host.
+Cela spécifie la plate-forme matérielle à émuler. Elle doit correspondre à
+l'hôte.
@item -net user
-Enable the unprivileged user-mode network stack. The guest OS can access
-the host but not vice versa. This is the simplest way to get the guest OS
-online.
+Active la pile réseau non privilégiée en mode utilisateur. L'OS émulé peut
+accéder à l'hôte mais pas l'inverse. C'est la manière la plus simple de
+connecter le client.
@item -net nic,model=virtio
-You must create a network interface of a given model. If you do not create
-a NIC, the boot will fail. Assuming your hardware platform is x86_64, you
-can get a list of available NIC models by running
-@command{qemu-system-x86_64 -net nic,model=help}.
+Vous devez créer une interface réseau d'un modèle donné. Si vous ne créez
+pas de NIC, le démarrage échouera. En supposant que votre plate-forme est
+x86_64, vous pouvez récupérer une liste des modèles de NIC disponibles en
+lançant @command{qemu-system-x86_64 -net nic,model=help}.
@item -enable-kvm
-If your system has hardware virtualization extensions, enabling the virtual
-machine support (KVM) of the Linux kernel will make things run faster.
+Si votre système a des extensions de virtualisation matérielle, activer le
+support des machines virtuelles de Linux (KVM) accélérera les choses.
@item -m 256
-RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB,
-which may be insufficient for some operations.
+RAM disponible sur l'OS émulé, en mébioctets. La valeur par défaut est
+128@tie{}Mo, ce qui peut ne pas suffire pour certaines opérations.
@item /tmp/qemu-image
-The file name of the qcow2 image.
+Le nom de fichier de l'image qcow2.
@end table
-The default @command{run-vm.sh} script that is returned by an invocation of
-@command{guix system vm} does not add a @command{-net user} flag by
-default. To get network access from within the vm add the
-@code{(dhcp-client-service)} to your system definition and start the VM
-using @command{`guix system vm config.scm` -net user}. An important caveat
-of using @command{-net user} for networking is that @command{ping} will not
-work, because it uses the ICMP protocol. You'll have to use a different
-command to check for network connectivity, for example @command{guix
+Le script @command{run-vm.sh} par défaut renvoyé par une invocation de
+@command{guix system vm} n'ajoute pas le drapeau @command{-net user} par
+défaut. Pour avoir accès au réseau dans la vm, ajoutez le
+@code{(dhcp-client-service)} à votre définition et démarrez la VM avec
+@command{`guix system vm config.scm` -net user}. Un problème important avec
+@command{-net user} pour le réseau, est que @command{ping} ne fonctionnera
+pas, car il utilise le protocole ICMP. Vous devrez utiliser une autre
+commande pour vérifier la connectivité réseau, par exemple @command{guix
download}.
-@subsubsection Connecting Through SSH
+@subsection Se connecter par SSH
@cindex SSH
@cindex serveur SSH
-To enable SSH inside a VM you need to add a SSH server like
-@code{(dropbear-service)} or @code{(lsh-service)} to your VM. The
-@code{(lsh-service}) doesn't currently boot unsupervised. It requires you
-to type some characters to initialize the randomness generator. In addition
-you need to forward the SSH port, 22 by default, to the host. You can do
-this with
+Pour activer SSH dans une VM vous devez ajouter un serveur SSH comme
+@code{(dropbear-service)} ou @code{(lsh-service)} à votre VM. Le service
+@code{(lsh-service)} ne peut actuellement pas démarrer sans supervision. Il
+a besoin que vous tapiez quelques caractères pour initialiser le générateur
+d'aléatoire. En plus vous devez transférer le port 22, par défaut, à
+l'hôte. Vous pouvez faire cela avec :
@example
`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22
@end example
-To connect to the VM you can run
+Pour vous connecter à la VM vous pouvez lancer
@example
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022
@end example
-The @command{-p} tells @command{ssh} the port you want to connect to.
-@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from
-complaining every time you modify your @command{config.scm} file and the
-@command{-o StrictHostKeyChecking=no} prevents you from having to allow a
-connection to an unknown host every time you connect.
+Le @command{-p} donne le port auquel vous voulez vous connecter à
+@command{ssh}, @command{-o UserKnownHostsFile=/dev/null} évite que
+@command{ssh} ne se plaigne à chaque fois que vous modifiez le fichier
+@command{config.scm} et @command{-o StrictHostKeyChecking=no} évite que vous
+n'ayez à autoriser une connexion à un hôte inconnu à chaque fois que vous
+vous connectez.
-@subsubsection Using @command{virt-viewer} with Spice
+@subsection Utiliser @command{virt-viewer} avec Spice
-As an alternative to the default @command{qemu} graphical client you can use
-the @command{remote-viewer} from the @command{virt-viewer} package. To
-connect pass the @command{-spice port=5930,disable-ticketing} flag to
-@command{qemu}. See previous section for further information on how to do
-this.
+Alternativement au client graphique @command{qemu} par défaut vous pouvez
+utiliser @command{remote-viewer} du paquet @command{virt-viewer}. Pour vous
+connecter, passez le drapeau @command{-spice port=5930,disable-ticketing} à
+@command{qemu}. Voir les sections précédentes pour plus d'informations sur
+comment faire cela.
-Spice also allows you to do some nice stuff like share your clipboard with
-your VM. To enable that you'll also have to pass the following flags to
-@command{qemu}:
+Spice a aussi de chouettes fonctionnalités comme le partage de votre
+presse-papier avec la VM. Pour activer cela vous devrez aussi passer les
+drapeaux suivants à @command{qemu} :
@example
-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5
@@ -23346,14 +24178,14 @@ your VM. To enable that you'll also have to pass the following flags to
name=com.redhat.spice.0
@end example
-You'll also need to add the @pxref{Services divers, Spice service}.
+Vous devrez aussi ajouter le @pxref{Services divers, Spice service}.
@node Définir des services
-@subsection Définir des services
+@section Définir des services
-The previous sections show the available services and how one can combine
-them in an @code{operating-system} declaration. But how do we define them
-in the first place? And what is a service anyway?
+Les sections précédentes montrent les services disponibles et comment on
+peut les combiner dans une déclaration @code{operating-system}. Mais, déjà,
+comment les définir ? Et qu'est-ce qu'un service au fait ?
@menu
* Composition de services:: Le modèle de composition des services.
@@ -23363,65 +24195,68 @@ in the first place? And what is a service anyway?
@end menu
@node Composition de services
-@subsubsection Composition de services
+@subsection Composition de services
@cindex services
-@cindex daemons
-Here we define a @dfn{service} as, broadly, something that extends the
-functionality of the operating system. Often a service is a process---a
-@dfn{daemon}---started when the system boots: a secure shell server, a Web
-server, the Guix build daemon, etc. Sometimes a service is a daemon whose
-execution can be triggered by another daemon---e.g., an FTP server started
-by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}.
-Occasionally, a service does not map to a daemon. For instance, the
-``account'' service collects user accounts and makes sure they exist when
-the system runs; the ``udev'' service collects device management rules and
-makes them available to the eudev daemon; the @file{/etc} service populates
-the @file{/etc} directory of the system.
-
-@cindex service extensions
-GuixSD services are connected by @dfn{extensions}. For instance, the secure
-shell service @emph{extends} the Shepherd---the GuixSD initialization
+@cindex démons
+Ici nous définissons un @dfn{service} comme étant, assez largement, quelque
+chose qui étend la fonctionnalité d'un système d'exploitation. Souvent un
+service est un processus — un @dfn{démon} — démarré lorsque le système
+démarre : un serveur ssh, un serveur web, le démon de construction de Guix,
+etc. Parfois un service est un démon dont l'exécution peut être déclenchée
+par un autre démon — p.@: ex.@: un serveur FTP démarré par @command{inetd}
+ou un service D-Bus activé par @command{dbus-daemon}. Parfois, un service
+ne correspond pas à un démon. Par exemple, le service « de comptes »
+récupère la liste des comptes utilisateurs et s'assure qu'ils existent bien
+lorsque le système est lancé ; le service « udev » récupère les règles de
+gestion des périphériques et les rend disponible au démon eudev ; le service
+@file{/etc} rempli le répertoire @file{/etc} du système.
+
+@cindex extensions de service
+Guix system services are connected by @dfn{extensions}. For instance, the
+secure shell service @emph{extends} the Shepherd---the initialization
system, running as PID@tie{}1---by giving it the command lines to start and
stop the secure shell daemon (@pxref{Services réseau,
-@code{lsh-service}}); the UPower service extends the D-Bus service by
-passing it its @file{.service} specification, and extends the udev service
-by passing it device management rules (@pxref{Services de bureaux,
+@code{openssh-service-type}}); the UPower service extends the D-Bus service
+by passing it its @file{.service} specification, and extends the udev
+service by passing it device management rules (@pxref{Services de bureaux,
@code{upower-service}}); the Guix daemon service extends the Shepherd by
passing it the command lines to start and stop the daemon, and extends the
account service by passing it a list of required build user accounts
(@pxref{Services de base}).
-All in all, services and their ``extends'' relations form a directed acyclic
-graph (DAG). If we represent services as boxes and extensions as arrows, a
-typical system might provide something like this:
+En définitive, les services et leurs relation « d'extensions » forment un
+graphe orienté acyclique (DAG). Si nous représentons les services comme des
+boîtes et les extensions comme des flèches, un système typique pourrait
+fournir quelque chose comme cela :
-@image{images/service-graph,,5in,Typical service extension graph.}
+@image{images/service-graph,,5in,Graphe d'extension des services typique.}
-@cindex system service
-At the bottom, we see the @dfn{system service}, which produces the directory
-containing everything to run and boot the system, as returned by the
-@command{guix system build} command. @xref{Référence de service}, to learn
-about the other service types shown here. @xref{system-extension-graph, the
-@command{guix system extension-graph} command}, for information on how to
-generate this representation for a particular operating system definition.
+@cindex service système
+En bas, on voit le @dfn{service système} qui produit le répertoire contenant
+tout et lançant et démarrant le système, renvoyé par la commande
+@command{guix system build}. @xref{Référence de service}, pour apprendre les
+autres types de services montrés ici. @xref{system-extension-graph, the
+@command{guix system extension-graph} command}, pour plus d'informations sur
+la manière de générer cette représentation pour une définition de système
+d'exploitation particulière.
-@cindex service types
+@cindex types de services
Technically, developers can define @dfn{service types} to express these
relations. There can be any number of services of a given type on the
system---for instance, a system running two instances of the GNU secure
-shell server (lsh) has two instances of @var{lsh-service-type}, with
+shell server (lsh) has two instances of @code{lsh-service-type}, with
different parameters.
-The following section describes the programming interface for service types
-and services.
+La section suivante décrit l'interface de programmation des types de
+services et des services.
@node Types service et services
-@subsubsection Types service et services
+@subsection Types service et services
-A @dfn{service type} is a node in the DAG described above. Let us start
-with a simple example, the service type for the Guix build daemon
-(@pxref{Invoquer guix-daemon}):
+Un @dfn{type de service} est un nœud dans le DAG décrit plus haut.
+Commençons avec un exemple simple, le type de service pour le démon de
+construction de Guix (@pxref{Invoquer guix-daemon}) :
@example
(define guix-service-type
@@ -23435,44 +24270,45 @@ with a simple example, the service type for the Guix build daemon
@end example
@noindent
-It defines three things:
+Il définit trois choses :
@enumerate
@item
-A name, whose sole purpose is to make inspection and debugging easier.
+Un nom, dont le seul but de rendre l'inspection et le débogage plus faciles.
@item
-A list of @dfn{service extensions}, where each extension designates the
-target service type and a procedure that, given the parameters of the
-service, returns a list of objects to extend the service of that type.
+Une liste d'@dfn{extensions de services}, où chaque extension désigne le
+type de service cible et une procédure qui, étant donné les paramètres du
+service, renvoie une liste d'objets pour étendre le service de ce type.
-Every service type has at least one service extension. The only exception
-is the @dfn{boot service type}, which is the ultimate service.
+Chaque type de service a au moins une extension de service. La seule
+exception est le @dfn{type de service boot}, qui est le service ultime.
@item
-Optionally, a default value for instances of this type.
+Éventuellement, une valeur par défaut pour les instances de ce type.
@end enumerate
-In this example, @var{guix-service-type} extends three services:
+Dans cet exemple, @var{guix-service-type} étend trois services :
@table @var
@item shepherd-root-service-type
-The @var{guix-shepherd-service} procedure defines how the Shepherd service
-is extended. Namely, it returns a @code{<shepherd-service>} object that
-defines how @command{guix-daemon} is started and stopped (@pxref{Services Shepherd}).
+La procédure @var{guix-shepherd-service} définit comment le service du
+Shepherd est étendu. En fait, elle renvoie un objet
+@code{<shepherd-service>} qui définit comment @command{guix-daemon} est
+démarré et stoppé (@pxref{Services Shepherd}).
@item account-service-type
-This extension for this service is computed by @var{guix-accounts}, which
-returns a list of @code{user-group} and @code{user-account} objects
-representing the build user accounts (@pxref{Invoquer guix-daemon}).
+Cette extension pour ce service est calculée par @var{guix-accounts}, qui
+renvoie une liste d'objets @code{user-group} et @code{user-account}
+représentant les comptes des utilisateurs de construction (@pxref{Invoquer guix-daemon}).
@item activation-service-type
-Here @var{guix-activation} is a procedure that returns a gexp, which is a
-code snippet to run at ``activation time''---e.g., when the service is
-booted.
+Ici, @var{guix-activation} est une procédure qui renvoie une gexp, qui est
+un bout de code qui s'exécute au moment de l'activation — p.@: ex.@: lorsque
+le service est démarré.
@end table
-A service of this type is instantiated like this:
+Un service de ce type est instancié de cette manière :
@example
(service guix-service-type
@@ -23481,22 +24317,23 @@ A service of this type is instantiated like this:
(use-substitutes? #f)))
@end example
-The second argument to the @code{service} form is a value representing the
-parameters of this specific service instance.
-@xref{guix-configuration-type, @code{guix-configuration}}, for information
-about the @code{guix-configuration} data type. When the value is omitted,
-the default value specified by @code{guix-service-type} is used:
+Le deuxième argument de la forme @code{service} est une valeur représentant
+les paramètres de cet instance spécifique du service.
+@xref{guix-configuration-type, @code{guix-configuration}}, pour plus
+d'informations sur le type de données @code{guix-configuration}. Lorsque la
+valeur est omise, la valeur par défaut spécifiée par
+@code{guix-service-type} est utilisée :
@example
(service guix-service-type)
@end example
-@var{guix-service-type} is quite simple because it extends other services
-but is not extensible itself.
+@var{guix-service-type} est très simple car il étend d'autres services mais
+ne peut pas être étendu.
@c @subsubsubsection Extensible Service Types
-The service type for an @emph{extensible} service looks like this:
+Le type de service pour un service @emph{extensible} ressemble à ceci :
@example
(define udev-service-type
@@ -23505,98 +24342,100 @@ The service type for an @emph{extensible} service looks like this:
(list (service-extension shepherd-root-service-type
udev-shepherd-service)))
- (compose concatenate) ;concatenate the list of rules
+ (compose concatenate) ; concatène la liste des règles
(extend (lambda (config rules)
(match config
(($ <udev-configuration> udev initial-rules)
(udev-configuration
- (udev udev) ;the udev package to use
+ (udev udev) ; le paquet udev à utiliser
(rules (append initial-rules rules)))))))))
@end example
-This is the service type for the
-@uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management
-daemon}. Compared to the previous example, in addition to an extension of
-@var{shepherd-root-service-type}, we see two new fields:
+C'est le type de service pour le
+@uref{https://wiki.gentoo.org/wiki/Project:Eudev, le démon de gestion des
+périphériques eudev}. Comparé à l'exemple précédent, en plus d'une
+extension de @var{shepherd-root-service-type}, on trouve deux nouveaux
+champs :
@table @code
@item compose
-This is the procedure to @dfn{compose} the list of extensions to services of
-this type.
+C'est la procédure pour @dfn{composer} la liste des extensions de services
+de ce type.
-Services can extend the udev service by passing it lists of rules; we
-compose those extensions simply by concatenating them.
+Les services peuvent étendre le service udev en lui passant des listes de
+règles ; on compose ces extensions simplement en les concaténant.
@item extend
-This procedure defines how the value of the service is @dfn{extended} with
-the composition of the extensions.
+Cette procédure définie comme la valeur du service est @dfn{étendue} avec la
+composition des extensions.
-Udev extensions are composed into a list of rules, but the udev service
-value is itself a @code{<udev-configuration>} record. So here, we extend
-that record by appending the list of rules it contains to the list of
-contributed rules.
+Les extensions Udev sont composés en une liste de règles, mais la valeur du
+service udev est elle-même un enregistrement @code{<udev-configuration>}.
+Donc ici, nous étendons cet enregistrement en ajoutant la liste des règle
+contribuées à la liste des règles qu'il contient déjà.
@item description
-This is a string giving an overview of the service type. The string can
-contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). The
-@command{guix system search} command searches these strings and displays
-them (@pxref{Invoquer guix system}).
+C'est une chaîne donnant un aperçu du type de service. Elle peut contenir
+du balisage Texinfo (@pxref{Overview,,, texinfo, GNU Texinfo}). La commande
+@command{guix system search} permet de rechercher dans ces chaînes et de les
+afficher (@pxref{Invoquer guix system}).
@end table
-There can be only one instance of an extensible service type such as
-@var{udev-service-type}. If there were more, the @code{service-extension}
-specifications would be ambiguous.
+Il ne peut y avoir qu'une instance d'un type de service extensible comme
+@var{udev-service-type}. S'il y en avait plus, les spécification
+@code{service-extension} seraient ambiguës.
-Still here? The next section provides a reference of the programming
-interface for services.
+Toujours ici ? La section suivante fournit une référence de l'interface de
+programmation des services.
@node Référence de service
-@subsubsection Référence de service
+@subsection Référence de service
-We have seen an overview of service types (@pxref{Types service et services}). This section provides a reference on how to manipulate services
-and service types. This interface is provided by the @code{(gnu services)}
-module.
+Nous avons vu un résumé des types de services (@pxref{Types service et services}). Cette section fournit une référence sur la manière de manipuler
+les services et les types de services. Cette interface est fournie par le
+module @code{(gnu services)}.
@deffn {Procédure Scheme} service @var{type} [@var{value}]
-Return a new service of @var{type}, a @code{<service-type>} object (see
-below.) @var{value} can be any object; it represents the parameters of this
-particular service instance.
+Renvoie un nouveau service de type @var{type}, un objet
+@code{<service-type>} (voir plus bas). @var{value}peut être n'importe quel
+objet ; il représente les paramètres de cette instance particulière du
+service.
-When @var{value} is omitted, the default value specified by @var{type} is
-used; if @var{type} does not specify a default value, an error is raised.
+Lorsque @var{value} est omise, la valeur par défaut spécifiée par @var{type}
+est utilisée ; si @var{type} ne spécifie pas de valeur par défaut, une
+erreur est levée.
-For instance, this:
+Par exemple ceci :
@example
(service openssh-service-type)
@end example
@noindent
-is equivalent to this:
+est équivalent à ceci :
@example
(service openssh-service-type
(openssh-configuration))
@end example
-In both cases the result is an instance of @code{openssh-service-type} with
-the default configuration.
+Dans les deux cas le résultat est une instance de
+@code{openssh-service-type} avec la configuration par défaut.
@end deffn
@deffn {Procédure Scheme} service? @var{obj}
-Return true if @var{obj} is a service.
+Renvoie vrai si @var{obj} est un service.
@end deffn
@deffn {Procédure Scheme} service-kind @var{service}
-Return the type of @var{service}---i.e., a @code{<service-type>} object.
+Renvoie le type de @var{service} — c.-à-d.@: un objet @code{<service-type>}.
@end deffn
@deffn {Procédure Scheme} service-value @var{service}
-Return the value associated with @var{service}. It represents its
-parameters.
+Renvoie la valeur associée à @var{service}. Elle représente ses paramètres.
@end deffn
-Here is an example of how a service is created and manipulated:
+Voici un exemple de la manière dont un service est créé et manipulé :
@example
(define s
@@ -23614,102 +24453,105 @@ Here is an example of how a service is created and manipulated:
@result{} #t
@end example
-The @code{modify-services} form provides a handy way to change the
-parameters of some of the services of a list such as @var{%base-services}
-(@pxref{Services de base, @code{%base-services}}). It evaluates to a list of
-services. Of course, you could always use standard list combinators such as
-@code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile,
-GNU Guile Reference Manual}); @code{modify-services} simply provides a more
-concise form for this common pattern.
+La forme @code{modify-services} fournit une manière pratique de modifier les
+paramètres de certains services d'une liste comme @var{%base-services}
+(@pxref{Services de base, @code{%base-services}}). Elle s'évalue en une liste
+de services. Bien sûr, vous pouvez toujours utiliser les combinateurs de
+liste standards comme @code{map} et @code{fold} pour cela (@pxref{SRFI-1,
+List Library,, guile, GNU Guile Reference Manual}) ; @code{modify-services}
+fournit simplement une manière plus concise pour ce besoin commun.
-@deffn {Scheme Syntax} modify-services @var{services} @
+@deffn {Syntaxe Scheme} modify-services @var{services} @
(@var{type} @var{variable} => @var{body}) @dots{}
-Modify the services listed in @var{services} according to the given
-clauses. Each clause has the form:
+Modifie les services listés dans @var{services} en fonction des clauses
+données. Chaque clause à la forme :
@example
(@var{type} @var{variable} => @var{body})
@end example
-where @var{type} is a service type---e.g., @code{guix-service-type}---and
-@var{variable} is an identifier that is bound within the @var{body} to the
-service parameters---e.g., a @code{guix-configuration} instance---of the
-original service of that @var{type}.
+où @var{type} est un type de service — p.@: ex.@: @code{guix-service-type} —
+et @var{variable} est un identifiant lié dans @var{body} aux paramètres du
+service — p.@: ex.@: une instance de @code{guix-configuration} — du service
+original de ce @var{type}.
-The @var{body} should evaluate to the new service parameters, which will be
-used to configure the new service. This new service will replace the
-original in the resulting list. Because a service's service parameters are
-created using @code{define-record-type*}, you can write a succinct
-@var{body} that evaluates to the new service parameters by using the
-@code{inherit} feature that @code{define-record-type*} provides.
+La variable @var{body} devrait s'évaluer en de nouveaux paramètres de
+service, qui seront utilisés pour configurer le nouveau service. Ce nouveau
+service remplacera l'original dans la liste qui en résulte. Comme les
+paramètres d'un service sont créés avec @code{define-record-type*}, vous
+pouvez écrire un @var{body} court qui s'évalue en de nouveaux paramètres
+pour le services en utilisant @code{inherit}, fourni par
+@code{define-record-type*}.
-@xref{Utiliser le système de configuration}, for example usage.
+@xref{Utiliser le système de configuration} pour des exemples d'utilisation.
@end deffn
-Next comes the programming interface for service types. This is something
-you want to know when writing new service definitions, but not necessarily
-when simply looking for ways to customize your @code{operating-system}
-declaration.
+Suit l'interface de programmation des types de services. Vous devrez la
+connaître pour écrire de nouvelles définitions de services, mais pas
+forcément lorsque vous cherchez des manières simples de personnaliser votre
+déclaration @code{operating-system}.
@deftp {Type de données} service-type
@cindex type de service
-This is the representation of a @dfn{service type} (@pxref{Types service et services}).
+C'est la représentation d'un @dfn{type de service} (@pxref{Types service et services}).
@table @asis
@item @code{name}
-This is a symbol, used only to simplify inspection and debugging.
+C'est un symbole, utilisé seulement pour simplifier l'inspection et le
+débogage.
@item @code{extensions}
-A non-empty list of @code{<service-extension>} objects (see below).
+Une liste non-vide d'objets @code{<service-extension>} (voir plus bas).
@item @code{compose} (par défaut : @code{#f})
-If this is @code{#f}, then the service type denotes services that cannot be
-extended---i.e., services that do not receive ``values'' from other
-services.
+S'il s'agit de @code{#f}, le type de service dénote des services qui ne
+peuvent pas être étendus — c.-à-d.@: qui ne reçoivent pas de « valeurs »
+d'autres services.
-Otherwise, it must be a one-argument procedure. The procedure is called by
-@code{fold-services} and is passed a list of values collected from
-extensions. It may return any single value.
+Sinon, ce doit être une procédure à un argument. La procédure est appelée
+par @code{fold-services} et on lui passe une liste de valeurs collectées par
+les extensions. Elle peut renvoyer n'importe quelle valeur simple.
@item @code{extend} (par défaut : @code{#f})
-If this is @code{#f}, services of this type cannot be extended.
-
-Otherwise, it must be a two-argument procedure: @code{fold-services} calls
-it, passing it the initial value of the service as the first argument and
-the result of applying @code{compose} to the extension values as the second
-argument. It must return a value that is a valid parameter value for the
-service instance.
+Si la valeur est @code{#f}, les services de ce type ne peuvent pas être
+étendus.
+
+Sinon, il doit s'agir 'une procédure à deux arguments : @code{fold-services}
+l'appelle et lui passe la valeur initiale du service comme premier argument
+et le résultat de l'application de @code{compose} sur les valeurs
+d'extension en second argument. Elle doit renvoyer une valeur qui est une
+valeur de paramètre valide pour l'instance du service.
@end table
-@xref{Types service et services}, for examples.
+@xref{Types service et services}, pour des exemples.
@end deftp
@deffn {Procédure Scheme} service-extension @var{target-type} @
- @var{compute} Return a new extension for services of type
-@var{target-type}. @var{compute} must be a one-argument procedure:
-@code{fold-services} calls it, passing it the value associated with the
-service that provides the extension; it must return a valid value for the
-target service.
+ @var{compute}
+Renvoie une nouvelle extension pour les services de type @var{target-type}.
+@var{compute} doit être une procédure à un argument : @code{fold-services}
+l'appelle et lui passe la valeur associée au service qui fournit cette
+extension ; elle doit renvoyer une valeur valide pour le service cible.
@end deffn
@deffn {Procédure Scheme} service-extension? @var{obj}
-Return true if @var{obj} is a service extension.
+Renvoie vrai si @var{obj} est une extension de service.
@end deffn
-Occasionally, you might want to simply extend an existing service. This
-involves creating a new service type and specifying the extension of
-interest, which can be verbose; the @code{simple-service} procedure provides
-a shorthand for this.
+Parfois, vous voudrez simplement étendre un service existant. Cela implique
+de créer un nouveau type de service et de spécifier l'extension qui vous
+intéresse, ce qui peut être assez verbeux ; la procédure
+@code{simple-service} fournit un raccourci pour ce cas.
@deffn {Procédure Scheme} simple-service @var{name} @var{target} @var{value}
-Return a service that extends @var{target} with @var{value}. This works by
-creating a singleton service type @var{name}, of which the returned service
-is an instance.
+Renvoie un service qui étend @var{target} avec @var{value}. Cela fonctionne
+en créant un type de service singleton @var{name}, dont le service renvoyé
+est une instance.
-For example, this extends mcron (@pxref{Exécution de tâches planifiées}) with an
-additional job:
+Par exemple, cela étend mcron (@pxref{Exécution de tâches planifiées}) avec une
+tâche supplémentaire :
@example
(simple-service 'my-mcron-job mcron-service-type
@@ -23717,219 +24559,230 @@ additional job:
@end example
@end deffn
-At the core of the service abstraction lies the @code{fold-services}
-procedure, which is responsible for ``compiling'' a list of services down to
-a single directory that contains everything needed to boot and run the
-system---the directory shown by the @command{guix system build} command
-(@pxref{Invoquer guix system}). In essence, it propagates service
-extensions down the service graph, updating each node parameters on the way,
-until it reaches the root node.
+Au cœur de l'abstraction des services se cache la procédure
+@code{fold-services}, responsable de la « compilation » d'une liste de
+services en un répertoire unique qui contient tout ce qui est nécessaire au
+démarrage et à l'exécution du système — le répertoire indiqué par la
+commande @command{guix system build} (@pxref{Invoquer guix system}). En
+soit, elle propage les extensions des services le long du graphe des
+services, en mettant à jour chaque paramètre des nœuds sur son chemin,
+jusqu'à atteindre le nœud racine.
@deffn {Procédure Scheme} fold-services @var{services} @
- [#:target-type @var{system-service-type}] Fold @var{services} by propagating
-their extensions down to the root of type @var{target-type}; return the root
-service adjusted accordingly.
+ [#:target-type @var{system-service-type}]
+Replie @var{services} en propageant leurs extensions jusqu'à la racine de
+type @var{target-type} ; renvoie le service racine ajusté de cette manière.
@end deffn
-Lastly, the @code{(gnu services)} module also defines several essential
-service types, some of which are listed below.
+Enfin, le module @code{(gnu services)} définie aussi divers types de
+services essentiels, dont certains sont listés ci-dessous.
@defvr {Variable Scheme} system-service-type
-This is the root of the service graph. It produces the system directory as
-returned by the @command{guix system build} command.
+C'est la racine du graphe des services. Il produit le répertoire du système
+renvoyé par la commande @command{guix system build}.
@end defvr
@defvr {Variable Scheme} boot-service-type
-The type of the ``boot service'', which produces the @dfn{boot script}. The
-boot script is what the initial RAM disk runs when booting.
+Le type du service « boot », qui produit le @dfn{script de démarrage}. Le
+script de démarrage est ce que le disque de RAM initial lance au démarrage.
@end defvr
@defvr {Variable Scheme} etc-service-type
-The type of the @file{/etc} service. This service is used to create files
-under @file{/etc} and can be extended by passing it name/file tuples such
-as:
+Le type du service @file{/etc}. Ce service est utilisé pour créer des
+fichiers dans @file{/etc} et peut être étendu en lui passant des tuples
+nom/fichier comme ceci :
@example
-(list `("issue" ,(plain-file "issue" "Welcome!\n")))
+(list `("issue" ,(plain-file "issue" "Bienvenue !\n")))
@end example
-In this example, the effect would be to add an @file{/etc/issue} file
-pointing to the given file.
+Dans cet exemple, l'effet serait d'ajouter un fichier @file{/etc/issue}
+pointant vers le fichier donné.
@end defvr
@defvr {Variable Scheme} setuid-program-service-type
-Type for the ``setuid-program service''. This service collects lists of
-executable file names, passed as gexps, and adds them to the set of
-setuid-root programs on the system (@pxref{Programmes setuid}).
+Le type du « service setuid ». Ce service récupère des listes de noms de
+fichiers exécutables, passés en tant que gexps, et les ajoute à l'ensemble
+des programmes setuid root sur le système (@pxref{Programmes setuid}).
@end defvr
@defvr {Variable Scheme} profile-service-type
-Type of the service that populates the @dfn{system profile}---i.e., the
-programs under @file{/run/current-system/profile}. Other services can
-extend it by passing it lists of packages to add to the system profile.
+De type du service qui rempli le @dfn{profil du système} — c.-à-d.@: les
+programmes dans @file{/run/current-system/profile}. Les autres services
+peuvent l'étendre en lui passant des listes de paquets à ajouter au profil
+du système.
@end defvr
@node Services Shepherd
-@subsubsection Services Shepherd
+@subsection Services Shepherd
@cindex services shepherd
@cindex PID 1
-@cindex init system
+@cindex système d'init
The @code{(gnu services shepherd)} module provides a way to define services
-managed by the GNU@tie{}Shepherd, which is the GuixSD initialization
-system---the first process that is started when the system boots, also known
-as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).
+managed by the GNU@tie{}Shepherd, which is the initialization system---the
+first process that is started when the system boots, also known as
+PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).
-Services in the Shepherd can depend on each other. For instance, the SSH
-daemon may need to be started after the syslog daemon has been started,
-which in turn can only happen once all the file systems have been mounted.
-The simple operating system defined earlier (@pxref{Utiliser le système de configuration}) results in a service graph like this:
+Les services dans le Shepherd peuvent dépendre les uns des autres. Par
+exemple, le démon SSH peut avoir besoin d'être démarré après le démon
+syslog, qui à son tour doit être démarré après le montage des systèmes de
+fichiers. Le système d'exploitation simple déclaré précédemment
+(@pxref{Utiliser le système de configuration}) crée un graphe de service comme
+ceci :
-@image{images/shepherd-graph,,5in,Typical shepherd service graph.}
+@image{images/shepherd-graph,,5in,Graphe de service typique du shepherd.}
-You can actually generate such a graph for any operating system definition
-using the @command{guix system shepherd-graph} command
+Vous pouvez générer un tel graphe pour n'importe quelle définition de
+système d'exploitation avec la commande @command{guix system shepherd-graph}
(@pxref{system-shepherd-graph, @command{guix system shepherd-graph}}).
-The @var{%shepherd-root-service} is a service object representing
-PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended by
-passing it lists of @code{<shepherd-service>} objects.
+La variable @var{%shepherd-root-service} est un objet de service
+représentant le PID@tie{}1, de type @var{shepherd-root-service-type} ; il
+peut être étendu en lui passant des listes d'objets
+@code{<shepherd-service>}.
@deftp {Type de données} shepherd-service
-The data type representing a service managed by the Shepherd.
+Le type de données représentant un service géré par le Shepherd.
@table @asis
@item @code{provision}
-This is a list of symbols denoting what the service provides.
+C'est une liste de symboles dénotant ce que le service fournit.
-These are the names that may be passed to @command{herd start},
-@command{herd status}, and similar commands (@pxref{Invoking herd,,,
+Ce sont les noms qui peuvent être passés à @command{herd start},
+@command{herd status} et les commandes similaires (@pxref{Invoking herd,,,
shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the
-@code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details.
+@code{provides} slot,, shepherd, The GNU Shepherd Manual}, pour plus de
+détails.
@item @code{requirements} (par défaut : @code{'()})
-List of symbols denoting the Shepherd services this one depends on.
+Liste de symboles dénotant les services du Shepherd dont celui-ci dépend.
@item @code{respawn?} (par défaut : @code{#t})
-Whether to restart the service when it stops, for instance when the
-underlying process dies.
+Indique s'il faut redémarrer le service lorsqu'il s'arrête, par exemple si
+le processus sous-jacent meurt.
@item @code{start}
@itemx @code{stop} (par défaut : @code{#~(const #f)})
-The @code{start} and @code{stop} fields refer to the Shepherd's facilities
-to start and stop processes (@pxref{Service De- and Constructors,,,
-shepherd, The GNU Shepherd Manual}). They are given as G-expressions that
-get expanded in the Shepherd configuration file (@pxref{G-Expressions}).
+Les champs @code{start} et @code{stop} se réfèrent à la capacité du Shepherd
+de démarrer et d'arrêter des processus (@pxref{Service De- and
+Constructors,,, shepherd, The GNU Shepherd Manual}). Ils sont donnés comme
+des G-expressions qui sont étendues dans le fichier de configuration du
+Shepherd (@pxref{G-Expressions}).
@item @code{actions} (par défaut : @code{'()})
@cindex action, des services Shepherd
-This is a list of @code{shepherd-action} objects (see below) defining
-@dfn{actions} supported by the service, in addition to the standard
-@code{start} and @code{stop} actions. Actions listed here become available
-as @command{herd} sub-commands:
+C'est une liste d'objets @code{shepherd-action} (voir plus bas) définissant
+des @dfn{actions} supportées par le service, en plus des actions
+@code{start} et @code{stop} standards. Les actions listées ici sont
+disponibles en tant que sous-commande de @command{herd}.
@example
herd @var{action} @var{service} [@var{arguments}@dots{}]
@end example
@item @code{documentation}
-A documentation string, as shown when running:
+Une chaîne de documentation, montrée lorsqu'on lance :
@example
herd doc @var{service-name}
@end example
-where @var{service-name} is one of the symbols in @var{provision}
+où @var{service-name} est l'un des symboles dans @var{provision}
(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}).
@item @code{modules} (par défaut : @var{%default-modules})
-This is the list of modules that must be in scope when @code{start} and
-@code{stop} are evaluated.
+C'est la liste des modules qui doivent être dans le contexte lorsque
+@code{start} et @code{stop} sont évalués.
@end table
@end deftp
@deftp {Type de données} shepherd-action
-This is the data type that defines additional actions implemented by a
-Shepherd service (see above).
+C'est le type de données qui définie des actions supplémentaires
+implémentées par un service Shepherd (voir au-dessus).
@table @code
@item name
Symbole nommant l'action
@item documentation
-This is a documentation string for the action. It can be viewed by running:
+C'est une chaîne de documentation pour l'action. Elle peut être consultée
+avec :
@example
herd doc @var{service} action @var{action}
@end example
@item procedure
-This should be a gexp that evaluates to a procedure of at least one
-argument, which is the ``running value'' of the service (@pxref{Slots of
-services,,, shepherd, The GNU Shepherd Manual}).
+Cela devrait être une gexp qui s'évalue en une procédure à au moins un
+argument, la « valeur de lancement » du service (@pxref{Slots of services,,,
+shepherd, The GNU Shepherd Manual}).
@end table
-The following example defines an action called @code{say-hello} that kindly
-greets the user:
+L'exemple suivant définie une action nommée @code{dire-bonjour} qui salue
+amicalement l'utilisateur :
@example
(shepherd-action
- (name 'say-hello)
- (documentation "Say hi!")
+ (name 'dire-bonjour)
+ (documentation "Dit salut !")
(procedure #~(lambda (running . args)
- (format #t "Hello, friend! arguments: ~s\n"
+ (format #t "Salut, l'ami ! arguments : ~s\n"
args)
#t)))
@end example
-Assuming this action is added to the @code{example} service, then you can
-do:
+En supposant que cette action est ajoutée dans le service @code{example},
+vous pouvez écrire :
@example
-# herd say-hello example
-Hello, friend! arguments: ()
-# herd say-hello example a b c
-Hello, friend! arguments: ("a" "b" "c")
+# herd dire-bonjour example
+Salut, l'ami ! arguments : ()
+# herd dire-bonjour example a b c
+Salut, l'ami ! arguments : ("a" "b" "c")
@end example
-This, as you can see, is a fairly sophisticated way to say hello.
-@xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, for more
-info on actions.
+Comme vous pouvez le voir, c'est une manière assez sophistiquée de dire
+bonjour. @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual},
+pour plus d'informations sur les actions.
@end deftp
@defvr {Variable Scheme} shepherd-root-service-type
-The service type for the Shepherd ``root service''---i.e., PID@tie{}1.
+Le type de service pour le « service racine » du Shepherd — c.-à-d.@: le
+PID@tie{}1.
-This is the service type that extensions target when they want to create
-shepherd services (@pxref{Types service et services}, for an example).
-Each extension must pass a list of @code{<shepherd-service>}.
+C'est le type de service que les extensions ciblent lorqu'elles veulent
+créer un service shepherd (@pxref{Types service et services}, pour un
+exemple). Chaque extension doit passer une liste de
+@code{<shepherd-service>}.
@end defvr
@defvr {Variable Scheme} %shepherd-root-service
-This service represents PID@tie{}1.
+Ce service représente le PID@tie{}1.
@end defvr
@node Documentation
-@section Documentation
-
-@cindex documentation, searching for
-@cindex searching for documentation
-@cindex Info, documentation format
-@cindex man pages
-@cindex manual pages
-In most cases packages installed with Guix come with documentation. There
-are two main documentation formats: ``Info'', a browseable hypertext format
-used for GNU software, and ``manual pages'' (or ``man pages''), the linear
-documentation format traditionally found on Unix. Info manuals are accessed
-with the @command{info} command or with Emacs, and man pages are accessed
-using @command{man}.
-
-You can look for documentation of software installed on your system by
-keyword. For example, the following command searches for information about
-``TLS'' in Info manuals:
+@chapter Documentation
+
+@cindex documentation, recherche
+@cindex chercher de la documentation
+@cindex Info, format de documentation
+@cindex man, pages de manuel
+@cindex pages de manuel
+Dans la plupart des cas les paquets installés avec Guix ont une
+documentation. Il y a deux formats de documentation principaux : « Info »,
+un format hypertexte navigable utilisé par les logiciels GNU et les « pages
+de manuel » (ou « pages de man »), le format de documentation linéaire
+traditionnel chez Unix. Les manuels Info sont disponibles via la commande
+@command{info} ou avec Emacs, et les pages de man sont accessibles via la
+commande @command{man}.
+
+Vous pouvez chercher de la documentation pour les logiciels installés sur
+votre système par mot-clef. Par exemple, la commande suivante recherche des
+informations sur « TLS » dans les manuels Info :
@example
$ info -k TLS
@@ -23941,7 +24794,7 @@ $ info -k TLS
@end example
@noindent
-The command below searches for the same keyword in man pages:
+La commande suivante recherche le même mot-clef dans les pages de man :
@example
$ man -k TLS
@@ -23950,40 +24803,42 @@ certtool (1) - GnuTLS certificate tool
@dots {}
@end example
-These searches are purely local to your computer so you have the guarantee
-that documentation you find corresponds to what you have actually installed,
-you can access it off-line, and your privacy is respected.
+Ces recherches sont purement locales à votre ordinateur donc vous savez que
+la documentation trouvée correspond à ce qui est effectivement installé,
+vous pouvez y accéder hors ligne et votre vie privée est préservée.
-Once you have these results, you can view the relevant documentation by
-running, say:
+Une fois que vous avez ces résultats, vous pouvez visualiser la
+documentation appropriée avec, disons :
@example
$ info "(gnutls)Core TLS API"
@end example
@noindent
-or:
+ou :
@example
$ man certtool
@end example
-Info manuals contain sections and indices as well as hyperlinks like those
-found in Web pages. The @command{info} reader (@pxref{Top, Info reader,,
-info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc
-Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to
-navigate manuals. @xref{Getting Started,,, info, Info: An Introduction},
-for an introduction to Info navigation.
+Les manuels Info contiennent des sections et des indexs ainsi que des
+hyperliens comme ce qu'on trouve sur les pages Web. Le lecteur
+@command{info} (@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info})
+et sa contre-partie dans Emacs (@pxref{Misc Help,,, emacs, The GNU Emacs
+Manual}) fournissent des raccourcis claviers intuitifs pour naviguer dans
+les manuels @xref{Getting Started,,, info, Info: An Introduction} pour
+trouver une introduction sur la navigation dans info.
@node Installer les fichiers de débogage
-@section Installer les fichiers de débogage
+@chapter Installer les fichiers de débogage
-@cindex debugging files
-Program binaries, as produced by the GCC compilers for instance, are
-typically written in the ELF format, with a section containing
-@dfn{debugging information}. Debugging information is what allows the
-debugger, GDB, to map binary code to source code; it is required to debug a
-compiled program in good conditions.
+@cindex fichiers de débogage
+Les binaires des programmes, produits par les compilateurs GCC par exemple,
+sont typiquement écrits au format ELF, avec une section contenant des
+@dfn{informations de débogage}. Les informations de débogage sont ce qui
+permet au débogueur, GDB, de relier le code binaire et le code source ;
+elles sont requises pour déboguer un programme compilé dans de bonnes
+conditions.
Le problème avec les informations de débogage est qu'elles prennent pas mal
de place sur le disque. Par exemple, les informations de débogage de la
@@ -23994,76 +24849,79 @@ pas empêcher le débogage — en particulier, dans le système GNU, qui devrait
faciliter pour ses utilisateurs l'exercice de leurs libertés
(@pxref{Distribution GNU}).
-Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism
-that allows users to get the best of both worlds: debugging information can
-be stripped from the binaries and stored in separate files. GDB is then
-able to load debugging information from those files, when they are available
+Heureusement, les utilitaires binaires de GNU (Binutils) et GDB fournissent
+un mécanisme qui permet aux utilisateurs d'avoir le meilleur des deux mondes
+: les informations de débogage peuvent être nettoyées des binaires et
+stockées dans des fichiers séparés. GDB peut ensuite charger les
+informations de débogage depuis ces fichiers, lorsqu'elles sont disponibles
(@pxref{Separate Debug Files,,, gdb, Debugging with GDB}).
-The GNU distribution takes advantage of this by storing debugging
-information in the @code{lib/debug} sub-directory of a separate package
-output unimaginatively called @code{debug} (@pxref{Des paquets avec plusieurs résultats}). Users can choose to install the @code{debug} output of a package
-when they need it. For instance, the following command installs the
-debugging information for the GNU C Library and for GNU Guile:
+La distribution GNU se sert de cela pour stocker les informations de
+débogage dans le sous-répertoire @code{lib/debug} d'une sortie séparée du
+paquet appelée sans grande imagination @code{debug} (@pxref{Des paquets avec plusieurs résultats}). Les utilisateurs peuvent choisir d'installer la sortie
+@code{debug} d'un paquet lorsqu'ils en ont besoin. Par exemple, la commande
+suivante installe les informations de débogage pour la bibliothèque C de GNU
+et pour GNU Guile.
@example
guix package -i glibc:debug guile:debug
@end example
-GDB must then be told to look for debug files in the user's profile, by
-setting the @code{debug-file-directory} variable (consider setting it from
-the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):
+On doit ensuite dire à GDB de chercher les fichiers de débogage dans le
+profil de l'utilisateur, en remplissant la variable
+@code{debug-file-directory} (vous pourriez aussi l'instancier depuis le
+fichier @file{~/.gdbinit}, @pxref{Startup,,, gdb, Debugging with GDB}) :
@example
(gdb) set debug-file-directory ~/.guix-profile/lib/debug
@end example
-From there on, GDB will pick up debugging information from the @code{.debug}
-files under @file{~/.guix-profile/lib/debug}.
+À partir de maintenant, GDB récupérera les informations de débogage dans les
+fichiers @code{.debug} de @file{~/.guix-profile/lib/debug}.
-In addition, you will most likely want GDB to be able to show the source
-code being debugged. To do that, you will have to unpack the source code of
-the package of interest (obtained with @code{guix build --source},
-@pxref{Invoquer guix build}), and to point GDB to that source directory
-using the @code{directory} command (@pxref{Source Path, @code{directory},,
-gdb, Debugging with GDB}).
+EN plus, vous voudrez sans doute que GDB puisse montrer le code source
+débogué. Pour cela, vous devrez désarchiver le code source du paquet qui
+vous intéresse (obtenu via @code{guix build --source}, @pxref{Invoquer guix build}) et pointer GDB vers ce répertoire des sources avec la commande
+@code{directory} (@pxref{Source Path, @code{directory},, gdb, Debugging with
+GDB}).
@c XXX: keep me up-to-date
-The @code{debug} output mechanism in Guix is implemented by the
-@code{gnu-build-system} (@pxref{Systèmes de construction}). Currently, it is
-opt-in---debugging information is available only for the packages with
-definitions explicitly declaring a @code{debug} output. This may be changed
-to opt-out in the future if our build farm servers can handle the load. To
-check whether a package has a @code{debug} output, use @command{guix package
---list-available} (@pxref{Invoquer guix package}).
+Le mécanisme de la sortie @code{debug} dans Guix est implémenté par le
+@code{gnu-build-system} (@pxref{Systèmes de construction}). Actuellement, ce n'est pas
+obligatoire — les informations de débogage sont disponibles uniquement si
+les définitions déclarent explicitement une sortie @code{debug}. Cela
+pourrait être modifié tout en permettant aux paquets de s'en passer dans le
+futur si nos serveurs de construction peuvent tenir la charge. Pour
+vérifier si un paquet a une sortie @code{debug}, utilisez @command{guix
+package --list-available} (@pxref{Invoquer guix package}).
@node Mises à jour de sécurité
-@section Mises à jour de sécurité
+@chapter Mises à jour de sécurité
-@cindex security updates
+@cindex mises à jour de sécurité
@cindex vulnérabilités
-Occasionally, important security vulnerabilities are discovered in software
-packages and must be patched. Guix developers try hard to keep track of
-known vulnerabilities and to apply fixes as soon as possible in the
-@code{master} branch of Guix (we do not yet provide a ``stable'' branch
-containing only security updates.) The @command{guix lint} tool helps
-developers find out about vulnerable versions of software packages in the
-distribution:
+Parfois, des vulnérabilités importantes sont découvertes dans les paquets
+logiciels et doivent être corrigées. Les développeurs de Guix essayent de
+suivre les vulnérabilités connues et d'appliquer des correctifs aussi vite
+que possible dans la branche @code{master} de Guix (nous n'avons pas encore
+de branche « stable » contenant seulement des mises à jour de sécurité).
+L'outil @command{guix lint} aide les développeurs à trouver les versions
+vulnérables des paquets logiciels dans la distribution.
@smallexample
$ guix lint -c cve
-gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to CVE-2015-1781, CVE-2015-7547
-gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to CVE-2015-5276
-gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1923, CVE-2016-1924
+gnu/packages/base.scm:652:2: glibc@@2.21: probablement vulnérable à CVE-2015-1781, CVE-2015-7547
+gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probablement vulnérable à CVE-2015-5276
+gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probablement vulnérable à CVE-2016-1923, CVE-2016-1924
@dots{}
@end smallexample
-@xref{Invoquer guix lint}, for more information.
+@xref{Invoquer guix lint}, pour plus d'informations.
@quotation Remarque
-As of version @value{VERSION}, the feature described below is considered
-``beta''.
+À la version @value{VERSION}, la fonctionnalité ci-dessous est considérée
+comme « bêta ».
@end quotation
Guix suit une discipline de gestion de paquets fonctionnelle
@@ -24076,20 +24934,22 @@ d'être reconstruite. Cela aide d'utiliser des binaires pré-construits
temps de souhaité.
@cindex greffes
-To address this, Guix implements @dfn{grafts}, a mechanism that allows for
-fast deployment of critical updates without the costs associated with a
-whole-distribution rebuild. The idea is to rebuild only the package that
-needs to be patched, and then to ``graft'' it onto packages explicitly
-installed by the user and that were previously referring to the original
-package. The cost of grafting is typically very low, and order of
-magnitudes lower than a full rebuild of the dependency chain.
-
-@cindex replacements of packages, for grafts
-For instance, suppose a security update needs to be applied to Bash. Guix
-developers will provide a package definition for the ``fixed'' Bash, say
-@var{bash-fixed}, in the usual way (@pxref{Définition des paquets}). Then, the
-original package definition is augmented with a @code{replacement} field
-pointing to the package containing the bug fix:
+Pour corriger cela, Guix implémente les @dfn{greffes}, un mécanisme qui
+permet un déploiement rapide des mises à jour de sécurité critiques sans le
+coût associé à une reconstruction complète de la distribution. L'idée est
+de reconstruire uniquement le paquet qui doit être corrigé puis de le «
+greffer » sur les paquets qui sont explicitement installés par l'utilisateur
+et qui se référaient avant au paquet d'origine. Le coût d'une greffe est
+typiquement très bas, et plusieurs ordres de grandeurs moins élevé que de
+reconstruire tout la chaîne de dépendance.
+
+@cindex remplacement de paquet, pour les greffes
+Par exemple, supposons qu'une mise à jour de sécurité doive être appliquée à
+Bash. Les développeurs de Guix fourniront une définition de paquet pour le
+Bash « corrigé », disons @var{bash-fixed}, de la manière habituelle
+(@pxref{Définition des paquets}). Ensuite, la définition originale du paquet est
+augmentée avec un champ @code{replacement} qui pointe vers le paquet
+contenant le correctif de sécurité :
@example
(define bash
@@ -24099,44 +24959,44 @@ pointing to the package containing the bug fix:
(replacement bash-fixed)))
@end example
-From there on, any package depending directly or indirectly on Bash---as
-reported by @command{guix gc --requisites} (@pxref{Invoquer guix gc})---that
-is installed is automatically ``rewritten'' to refer to @var{bash-fixed}
-instead of @var{bash}. This grafting process takes time proportional to the
-size of the package, usually less than a minute for an ``average'' package
-on a recent machine. Grafting is recursive: when an indirect dependency
-requires grafting, then grafting ``propagates'' up to the package that the
-user is installing.
+À partir de maintenant, tout paquet dépendant directement ou indirectement
+de Bash — rapporté par @command{guix gc --requisites} (@pxref{Invoquer guix gc}) — installé est automatiquement « réécrit » pour se référer à
+@var{bash-fixed} au lieu de @var{bash}. Ce processus de greffe prend du
+temps en proportion de la taille du paquet, typiquement moins d'une minute
+pour un paquet de taille « moyenne » sur une machine récente. La greffe est
+récursive : lorsqu'une dépendance indirecte a besoin d'être greffée, la
+greffe se « propage » jusqu'au paquet que l'utilisateur installe.
-Currently, the length of the name and version of the graft and that of the
-package it replaces (@var{bash-fixed} and @var{bash} in the example above)
-must be equal. This restriction mostly comes from the fact that grafting
-works by patching files, including binary files, directly. Other
-restrictions may apply: for instance, when adding a graft to a package
-providing a shared library, the original shared library and its replacement
-must have the same @code{SONAME} and be binary-compatible.
+Actuellement la longueur du nom et la version de la greffe et du paquet
+qu'il remplace (@var{bash-fixed} et @var{bash} dans l'exemple ci-dessus)
+doivent être identiques. Cette restriction vient surtout du fait que la
+greffe fonctionne en corrigeant les fichiers, dont des fichiers binaires,
+directement. D'autres restrictions peuvent apparaître : par exemple, si
+vous ajoutez une greffe à un paquet fournissant une bibliothèque partagée,
+la bibliothèque partagée originale et son remplacement doivent avoir le même
+@code{SONAME} et être compatibles au niveau binaire.
-The @option{--no-grafts} command-line option allows you to forcefully avoid
-grafting (@pxref{Options de construction communes, @option{--no-grafts}}). Thus, the
-command:
+L'option en ligne de commande @option{--no-grafts} vous permet d'éviter les
+greffes (@pxref{Options de construction communes, @option{--no-grafts}}). Donc la
+commande :
@example
guix build bash --no-grafts
@end example
@noindent
-returns the store file name of the original Bash, whereas:
+renvoie le nom de fichier dans les dépôt du Bash original, alors que :
@example
guix build bash
@end example
@noindent
-returns the store file name of the ``fixed'', replacement Bash. This allows
-you to distinguish between the two variants of Bash.
+renvoie le nom de fichier du Bash « corrigé » de remplacement. Cela vous
+permet de distinguer les deux variantes de Bash.
-To verify which Bash your whole profile refers to, you can run
-(@pxref{Invoquer guix gc}):
+Pour vérifier à quel Bash votre profil se réfère, vous pouvez lancer
+(@pxref{Invoquer guix gc}) :
@example
guix gc -R `readlink -f ~/.guix-profile` | grep bash
@@ -24144,554 +25004,62 @@ guix gc -R `readlink -f ~/.guix-profile` | grep bash
@noindent
@dots{} and compare the store file names that you get with those above.
-Likewise for a complete GuixSD system generation:
+Likewise for a complete Guix system generation:
@example
guix gc -R `guix system build my-config.scm` | grep bash
@end example
-Lastly, to check which Bash running processes are using, you can use the
-@command{lsof} command:
+Enfin, pour vérifier quelles processus Bash lancés vous utilisez, vous
+pouvez utiliser la commande @command{lsof} :
@example
lsof | grep /gnu/store/.*bash
@end example
-@node Modules de paquets
-@section Modules de paquets
-
-From a programming viewpoint, the package definitions of the GNU
-distribution are provided by Guile modules in the @code{(gnu packages
-@dots{})} name space@footnote{Note that packages under the @code{(gnu
-packages @dots{})} module name space are not necessarily ``GNU packages''.
-This module naming scheme follows the usual Guile module naming convention:
-@code{gnu} means that these modules are distributed as part of the GNU
-system, and @code{packages} identifies modules that define packages.}
-(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). For
-instance, the @code{(gnu packages emacs)} module exports a variable named
-@code{emacs}, which is bound to a @code{<package>} object (@pxref{Définition des paquets}).
-
-The @code{(gnu packages @dots{})} module name space is automatically scanned
-for packages by the command-line tools. For instance, when running
-@code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules
-are scanned until one that exports a package object whose name is
-@code{emacs} is found. This package search facility is implemented in the
-@code{(gnu packages)} module.
-
-@cindex personnalisation, des paquets
-@cindex package module search path
-Users can store package definitions in modules with different names---e.g.,
-@code{(my-packages emacs)}@footnote{Note that the file name and module name
-must match. For instance, the @code{(my-packages emacs)} module must be
-stored in a @file{my-packages/emacs.scm} file relative to the load path
-specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}.
-@xref{Modules and the File System,,, guile, GNU Guile Reference Manual}, for
-details.}. There are two ways to make these package definitions visible to
-the user interfaces:
-
-@enumerate
-@item
-By adding the directory containing your package modules to the search path
-with the @code{-L} flag of @command{guix package} and other commands
-(@pxref{Options de construction communes}), or by setting the @code{GUIX_PACKAGE_PATH}
-environment variable described below.
-
-@item
-By defining a @dfn{channel} and configuring @command{guix pull} so that it
-pulls from it. A channel is essentially a Git repository containing package
-modules. @xref{Canaux}, for more information on how to define and use
-channels.
-@end enumerate
-
-@code{GUIX_PACKAGE_PATH} works similarly to other search path variables:
-
-@defvr {Environment Variable} GUIX_PACKAGE_PATH
-This is a colon-separated list of directories to search for additional
-package modules. Directories listed in this variable take precedence over
-the own modules of the distribution.
-@end defvr
-
-The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each
-package is built based solely on other packages in the distribution. The
-root of this dependency graph is a small set of @dfn{bootstrap binaries},
-provided by the @code{(gnu packages bootstrap)} module. For more
-information on bootstrapping, @pxref{Bootstrapping}.
-
-@node Consignes d'empaquetage
-@section Consignes d'empaquetage
-
-@cindex packages, creating
-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. @xref{Contribuer}, for additional information on how you can help.
-
-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.
-
-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{Modules de paquets}). However,
-in-depth Scheme knowledge is @emph{not} a prerequisite for creating
-packages. For more information on package definitions, @pxref{Définition des paquets}.
-
-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{Invoquer guix build}). For example, assuming the new package is
-called @code{gnew}, you may run this command from the Guix build tree
-(@pxref{Lancer Guix avant qu'il ne soit installé}):
-
-@example
-./pre-inst-env guix build gnew --keep-failed
-@end example
-
-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.
-
-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:
-
-@example
-./pre-inst-env guile -c '(use-modules (gnu packages gnew))'
-@end example
-
-Once your package builds correctly, please send us a patch
-(@pxref{Contribuer}). 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{http://hydra.gnu.org/jobset/gnu/master, our continuous integration
-system}.
-
-@cindex substituter
-On peut obtenir la nouvelle définition du paquet simplement en lançant
-@command{guix pull} (@pxref{Invoquer guix pull}). Lorsque
-@code{hydra.gnu.org} a fini de construire le paquet, l'installation du
-paquet y télécharge automatiquement les binaires (@pxref{Substituts}). La
-seule intervention humaine requise est pendant la revue et l'application du
-correctif.
-
-
-@menu
-* Liberté logiciel:: Ce que la distribution peut contenir.
-* Conventions de nommage:: Qu'est-ce qu'un bon nom ?
-* Numéros de version:: Lorsque le nom n'est pas suffisant.
-* Synopsis et descriptions:: Aider les utilisateurs à trouver le bon
- paquet.
-* Modules python:: Un peu de comédie anglaise.
-* Modules perl:: Petites perles.
-* Paquets java:: Pause café.
-* Polices de caractères:: À fond les fontes.
-@end menu
-
-@node Liberté logiciel
-@subsection Liberté logiciel
-
-@c Adapted from http://www.gnu.org/philosophy/philosophy.html.
-@cindex free software
-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{http://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.
-
-In addition, the GNU distribution follow the
-@url{http://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.
-
-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{Définition des paquets}). This way, @code{guix build --source}
-returns the ``freed'' source rather than the unmodified upstream source.
-
-
-@node Conventions de nommage
-@subsection Conventions de nommage
-
-@cindex package name
-A package has actually 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}.
-
-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}.
-
-We do not add @code{lib} prefixes for library packages, unless these are
-already part of the official project name. But @pxref{Modules python} and
-@ref{Modules perl} for special rules concerning modules for the Python and
-Perl languages.
-
-Font package names are handled differently, @pxref{Polices de caractères}.
-
-
-@node Numéros de version
-@subsection Numéros de version
-
-@cindex package version
-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{Conventions de nommage}
-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.
-
-The name inside the package definition is the same for all versions of a
-package and does not contain any version number.
-
-For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as
-follows:
-
-@example
-(define-public gtk+
- (package
- (name "gtk+")
- (version "3.9.12")
- ...))
-(define-public gtk+-2
- (package
- (name "gtk+")
- (version "2.24.20")
- ...))
-@end example
-If we also wanted GTK+ 3.8.2, this would be packaged as
-@example
-(define-public gtk+-3.8
- (package
- (name "gtk+")
- (version "3.8.2")
- ...))
-@end example
-
-@c See <https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>,
-@c for a discussion of what follows.
-@cindex version number, for VCS snapshots
-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?
-
-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:
-
-@example
-2.0.11-3.cabba9e
- ^ ^ ^
- | | `-- upstream commit ID
- | |
- | `--- Guix package revision
- |
-latest upstream version
-@end example
-
-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.) 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:
-
-@example
-(define my-package
- (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
- (revision "1")) ;révision du paquet Guix
- (package
- (version (git-version "0.9" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://example.org/my-package.git")
- (commit commit)))
- (sha256 (base32 "1mbikn@dots{}"))
- (file-name (git-file-name name version))))
- ;; @dots{}
- )))
-@end example
-
-@node Synopsis et descriptions
-@subsection Synopsis et descriptions
-
-@cindex package description
-@cindex package synopsis
-As we have seen before, each package in GNU@tie{}Guix includes a synopsis
-and a description (@pxref{Définition des paquets}). 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.
-
-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''.
-
-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.
-
-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.
-
-@cindex Texinfo markup, in package descriptions
-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 package
---show} take care of rendering it appropriately.
-
-Synopses and descriptions are translated by volunteers
-@uref{http://translationproject.org/domain/guix-packages.html, at the
-Translation Project} 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.
-
-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:
-
-@lisp
-(package
- ;; @dots{}
- (synopsis "This is translatable")
- (description (string-append "This is " "*not*" " translatable.")))
-@end lisp
-
-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}):
-
-@example
-;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
-(description "ARandR is designed to provide a simple visual front end
-for the X11 resize-and-rotate (RandR) extension. @dots{}")
-@end example
-
-
-@node Modules python
-@subsection Modules python
-
-@cindex python
-We currently package Python 2 and Python 3, under the Scheme variable names
-@code{python-2} and @code{python} as explained in @ref{Numéros de version}. 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}.
-
-Some modules are compatible with only one version of Python, others with
-both. If the package Foo compiles only with Python 3, we name it
-@code{python-foo}; if it compiles only with Python 2, we name it
-@code{python2-foo}. If it is compatible with both versions, we create two
-packages with the corresponding names.
-
-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.
-
-@subsubsection Specifying Dependencies
-@cindex inputs, for Python packages
-
-Dependency information for Python packages is usually available in the
-package source tree, with varying degrees of accuracy: in the
-@file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}.
-
-Your mission, when writing a recipe for a Python package, is to map these
-dependencies to the appropriate type of ``input'' (@pxref{Référence de paquet,
-inputs}). Although the @code{pypi} importer normally does a good job
-(@pxref{Invoquer guix import}), you may want to check the following check
-list to determine which dependency goes where.
-
-@itemize
-
-@item
-We currently package Python 2 with @code{setuptools} and @code{pip}
-installed like Python 3.4 has per default. Thus you don't need to specify
-either of these as an input. @command{guix lint} will warn you if you do.
-
-@item
-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.
-
-@item
-Python packages required only at build time---e.g., those listed with the
-@code{setup_requires} keyword in @file{setup.py}---or only for
-testing---e.g., those in @code{tests_require}---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.
-
-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}.
-
-@item
-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.
-
-@item
-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{Envoyer des correctifs, @command{guix size}}).
-
-@end itemize
-
-
-@node Modules perl
-@subsection Modules perl
-
-@cindex perl
-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}.
-
-
-@node Paquets java
-@subsection Paquets java
-
-@cindex java
-Java programs standing for themselves are named as any other package, using
-the lowercase upstream name.
-
-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}.
-
-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}.
-
-
-@node Polices de caractères
-@subsection Polices de caractères
-
-@cindex polices
-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.
-
-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.
-
-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}.
-
-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}.
-
-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.
-
-
-
@node Bootstrapping
-@section Bootstrapping
+@chapter Bootstrapping
@c Adapted from the ELS 2013 paper.
-@cindex bootstrapping
-
-Bootstrapping in our context refers to how the distribution gets built
-``from nothing''. Remember that the build environment of a derivation
-contains nothing but its declared inputs (@pxref{Introduction}). So there's
-an obvious chicken-and-egg problem: how does the first package get built?
-How does the first compiler get compiled? Note that this is a question of
-interest only to the curious hacker, not to the regular user, so you can
-shamelessly skip this section if you consider yourself a ``regular user''.
-
-@cindex bootstrap binaries
-The GNU system is primarily made of C code, with libc at its core. The GNU
-build system itself assumes the availability of a Bourne shell and
-command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and
-`grep'. Furthermore, build programs---programs that run @code{./configure},
-@code{make}, etc.---are written in Guile Scheme (@pxref{Dérivations}).
-Consequently, to be able to build anything at all, from scratch, Guix relies
-on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages
-mentioned above---the @dfn{bootstrap binaries}.
-
-These bootstrap binaries are ``taken for granted'', though we can also
-re-create them if needed (more on that later).
-
-@unnumberedsubsec Preparing to Use the Bootstrap Binaries
+@cindex bootstrap
+
+Dans notre contexte, le bootstrap se réfère à la manière dont la
+distribution est construite « à partir de rien ». Rappelez-vous que
+l'environnement de construction d'une dérivation ne contient rien d'autre
+que les entrées déclarées (@pxref{Introduction}). Donc il y a un problème
+évident de poule et d'œuf : comment le premier paquet est-il construit ?
+Comment le premier compilateur est-il construit ? Remarquez que c'est une
+question qui intéressera uniquement le hacker curieux, pas l'utilisateur
+normal, donc vous pouvez sauter cette section sans avoir honte si vous vous
+considérez comme un « utilisateur normal ».
+
+@cindex binaires de bootstrap
+Le système GNU est surtout fait de code C, avec la libc en son cœur. Le
+système de construction GNU lui-même suppose la disponibilité d'un shell
+Bourne et d'outils en ligne de commande fournis par GNU Coreutils, Awk,
+Findutils, sed et grep. En plus, les programmes de construction — les
+programmes qui exécutent @code{./configure}, @code{make} etc — sont écrits
+en Guile Scheme (@pxref{Dérivations}). En conséquence, pour pouvoir
+construire quoi que ce soit, de zéro, Guix a besoin de binaire
+pré-construits de Guile, GCC, Binutils, la libc et des autres paquets
+mentionnés plus haut — les @dfn{binaires de bootstrap}.
+
+Ces binaires de bootstrap sont pris comme des acquis, bien qu'on puisse les
+recréer (ça arrive plus tard).
+
+@unnumberedsec Se préparer à utiliser les binaires de bootstrap
@c As of Emacs 24.3, Info-mode displays the image, but since it's a
@c large image, it's hard to scroll. Oh well.
-@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap
-derivations}
+@image{images/bootstrap-graph,6in,,Graphe de dépendance des premières
+dérivations de bootstrap}
-The figure above shows the very beginning of the dependency graph of the
-distribution, corresponding to the package definitions of the @code{(gnu
-packages bootstrap)} module. A similar figure can be generated with
-@command{guix graph} (@pxref{Invoquer guix graph}), along the lines of:
+La figure ci-dessus montre le tout début du graphe de dépendances de la
+distribution, correspondant aux définitions des paquets du module @code{(gnu
+packages bootstrap)}. Une figure similaire peut être générée avec
+@command{guix graph} (@pxref{Invoquer guix graph}), de cette manière :
@example
guix graph -t derivation \
@@ -24699,54 +25067,57 @@ guix graph -t derivation \
| dot -Tps > t.ps
@end example
-At this level of detail, things are slightly complex. First, Guile itself
-consists of an ELF executable, along with many source and compiled Scheme
-files that are dynamically loaded when it runs. This gets stored in the
-@file{guile-2.0.7.tar.xz} tarball shown in this graph. This tarball is part
-of Guix's ``source'' distribution, and gets inserted into the store with
-@code{add-to-store} (@pxref{Le dépôt}).
-
-But how do we write a derivation that unpacks this tarball and adds it to
-the store? To solve this problem, the @code{guile-bootstrap-2.0.drv}
-derivation---the first one that gets built---uses @code{bash} as its
-builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls
-@code{tar} to unpack the tarball. Thus, @file{bash}, @file{tar}, @file{xz},
-and @file{mkdir} are statically-linked binaries, also part of the Guix
-source distribution, whose sole purpose is to allow the Guile tarball to be
-unpacked.
-
-Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile
-that can be used to run subsequent build programs. Its first task is to
-download tarballs containing the other pre-built binaries---this is what the
-@code{.tar.xz.drv} derivations do. Guix modules such as
-@code{ftp-client.scm} are used for this purpose. The
-@code{module-import.drv} derivations import those modules in a directory in
-the store, using the original layout. The @code{module-import-compiled.drv}
-derivations compile those modules, and write them in an output directory
-with the right layout. This corresponds to the @code{#:modules} argument of
-@code{build-expression->derivation} (@pxref{Dérivations}).
-
-Finally, the various tarballs are unpacked by the derivations
-@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at which
-point we have a working C tool chain.
-
-
-@unnumberedsubsec Building the Build Tools
-
-Bootstrapping is complete when we have a full tool chain that does not
-depend on the pre-built bootstrap tools discussed above. This no-dependency
-requirement is verified by checking whether the files of the final tool
-chain contain references to the @file{/gnu/store} directories of the
-bootstrap inputs. The process that leads to this ``final'' tool chain is
-described by the package definitions found in the @code{(gnu packages
-commencement)} module.
-
-The @command{guix graph} command allows us to ``zoom out'' compared to the
-graph above, by looking at the level of package objects instead of
-individual derivations---remember that a package may translate to several
-derivations, typically one derivation to download its source, one to build
-the Guile modules it needs, and one to actually build the package from
-source. The command:
+À ce niveau de détails, les choses sont légèrement complexes. Tout d'abord,
+Guile lui-même consiste en an exécutable ELF, avec plusieurs fichiers Scheme
+sources et compilés qui sont chargés dynamiquement quand il est exécuté.
+Cela est stocké dans l'archive @file{guile-2.0.7.tar.xz} montrée dans ce
+graphe. Cette archive fait parti de la distribution « source » de Guix, et
+est insérée dans le dépôt avec @code{add-to-store} (@pxref{Le dépôt}).
+
+Mais comment écrire une dérivation qui décompresse cette archive et l'ajoute
+au dépôt ? Pour résoudre ce problème, la dérivation
+@code{guile-bootstrap-2.0.drv} — la première qui est construite — utilise
+@code{bash} comme constructeur, qui lance @code{build-bootstrap-guile.sh},
+qui à son tour appelle @code{tar} pour décompresser l'archive. Ainsi,
+@file{bash}, @file{tar}, @file{xz} et @file{mkdir} sont des binaires liés
+statiquement, qui font aussi partie de la distribution source de Guix, dont
+le seul but est de permettre à l'archive de Guile d'être décompressée.
+
+Une fois que @code{guile-bootstrap-2.0.drv} est construit, nous avons un
+Guile fonctionnel qui peut être utilisé pour exécuter les programmes de
+construction suivants. Sa première tâche consiste à télécharger les
+archives contenant les autres binaires pré-construits — c'est ce que la
+dérivation @code{.tar.xz.drv} fait. Les modules Guix comme
+@code{ftp-client.scm} sont utilisés pour cela. Les dérivations
+@code{module-import.drv} importent ces modules dans un répertoire dans le
+dépôt, en utilisant la disposition d'origine. Les dérivations
+@code{module-import-compiled.drv} compilent ces modules, et les écrivent
+dans un répertoire de sortie avec le bon agencement. Cela correspond à
+l'argument @code{#:modules} de @code{build-expression->derivation}
+(@pxref{Dérivations}).
+
+Enfin, les diverses archives sont décompressées par les dérivations
+@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc, à partir de
+quoi nous avons une chaîne de compilation C fonctionnelle.
+
+
+@unnumberedsec Construire les outils de construction
+
+Le bootstrap est complet lorsque nous avons une chaîne d'outils complète qui
+ne dépend pas des outils de bootstrap pré-construits dont on vient de
+parler. Ce pré-requis d'indépendance est vérifié en s'assurant que les
+fichiers de la chaîne d'outil finale ne contiennent pas de référence vers
+les répertoires @file{/gnu/store} des entrées de bootstrap. Le processus
+qui mène à cette chaîne d'outils « finale » est décrit par les définitions
+de paquets qui se trouvent dans le module @code{(gnu packages
+commencement)}.
+
+La commande @command{guix graph} nous permet de « dézoomer » comparé au
+graphe précédent, en regardant au niveau des objets de paquets plutôt que
+des dérivations individuelles — rappelez-vous qu'un paquet peut se traduire
+en plusieurs dérivations, typiquement une dérivation pour télécharger ses
+sources, une pour les modules Guile dont il a besoin et une pour
+effectivement compiler le paquet depuis les sources. La commande :
@example
guix graph -t bag \
@@ -24755,123 +25126,132 @@ guix graph -t bag \
@end example
@noindent
-produces the dependency graph leading to the ``final'' C
-library@footnote{You may notice the @code{glibc-intermediate} label,
-suggesting that it is not @emph{quite} final, but as a good approximation,
-we will consider it final.}, depicted below.
+produit le graphe de dépendances qui mène à la bibliothèque C « finale
+»@footnote{Vous remarquerez qu'elle s'appelle @code{glibc-intermediate}, ce
+qui suggère qu'elle n'est pas @emph{tout à fait} finale, mais c'est une
+bonne approximation tout de même.}, que voici :
@image{images/bootstrap-packages,6in,,Graphe de dépendance des premiers
paquets}
@c See <http://lists.gnu.org/archive/html/gnu-system-discuss/2012-10/msg00000.html>.
-The first tool that gets built with the bootstrap binaries is
-GNU@tie{}Make---noted @code{make-boot0} above---which is a prerequisite for
-all the following packages. From there Findutils and Diffutils get built.
+Le premier outil construit avec les binaires de bootstrap est GNU@tie{}Make
+— appelé @code{make-boot0} ci-dessus — qui est un prérequis de tous les
+paquets suivants . Ensuite, Findutils et Diffutils sont construits.
-Then come the first-stage Binutils and GCC, built as pseudo cross
-tools---i.e., with @code{--target} equal to @code{--host}. They are used to
-build libc. Thanks to this cross-build trick, this libc is guaranteed not
-to hold any reference to the initial tool chain.
+Ensuite vient la première passe de Binutils et GCC, construits comme des
+pseudo outils croisés — c.-à-d.@: dont @code{--target} égal à
+@code{--host}. Ils sont utilisés pour construire la libc. Grâce à cette
+astuce de compilation croisée, la libc est garantie de ne contenir aucune
+référence à la chaîne d'outils initiale.
-From there the final Binutils and GCC (not shown above) are built. GCC uses
-@code{ld} from the final Binutils, and links programs against the just-built
-libc. This tool chain is used to build the other packages used by Guix and
-by the GNU Build System: Guile, Bash, Coreutils, etc.
+À partir de là, les Bintulis et GCC finaux (pas visibles ci-dessus) sont
+construits. GCC utilise @code{ld} du Binutils final et lie les programme
+avec la libc qui vient d'être construite. Cette chaîne d'outils est
+utilisée pour construire les autres paquets utilisés par Guix et par le
+système de construction de GNU : Guile, Bash, Coreutils, etc.
-And voilà! At this point we have the complete set of build tools that the
-GNU Build System expects. These are in the @code{%final-inputs} variable of
-the @code{(gnu packages commencement)} module, and are implicitly used by
-any package that uses @code{gnu-build-system} (@pxref{Systèmes de construction,
-@code{gnu-build-system}}).
+Et voilà ! À partir de là nous avons l'ensemble complet des outils auxquels
+s'attend le système de construction GNU. Ils sont dans la variable
+@code{%final-inputs} du module @code{(gnu packages commencement)} et sont
+implicitement utilisés par tous les paquets qui utilisent le
+@code{gnu-build-system} (@pxref{Systèmes de construction, @code{gnu-build-system}}).
-@unnumberedsubsec Building the Bootstrap Binaries
+@unnumberedsec Construire les binaires de bootstrap
-@cindex bootstrap binaries
-Because the final tool chain does not depend on the bootstrap binaries,
-those rarely need to be updated. Nevertheless, it is useful to have an
-automated way to produce them, should an update occur, and this is what the
-@code{(gnu packages make-bootstrap)} module provides.
+@cindex binaires de bootstrap
+Comme la chaîne d'outils finale ne dépend pas des binaires de bootstrap, ils
+ont rarement besoin d'être mis à jour. Cependant, il est utile d'avoir une
+manière de faire cela automatiquement, dans le cas d'une mise à jour et
+c'est ce que le module @code{(gnu packages make-bootstrap)} fournit.
-The following command builds the tarballs containing the bootstrap binaries
-(Guile, Binutils, GCC, libc, and a tarball containing a mixture of Coreutils
-and other basic command-line tools):
+La commande suivante construit les archives contenant les binaires de
+bootstrap (Guile, Binutils, GCC, la libc et une archive contenant un mélange
+de Coreutils et d'autres outils en ligne de commande de base) :
@example
guix build bootstrap-tarballs
@end example
-The generated tarballs are those that should be referred to in the
-@code{(gnu packages bootstrap)} module mentioned at the beginning of this
-section.
+Les archives générées sont celles qui devraient être référencées dans le
+module @code{(gnu packages bootstrap)} au début de cette section.
-Still here? Then perhaps by now you've started to wonder: when do we reach a
-fixed point? That is an interesting question! The answer is unknown, but if
-you would like to investigate further (and have significant computational
-and storage resources to do so), then let us know.
+Vous êtes toujours là ? Alors peut-être que maintenant vous vous demandez,
+quand est-ce qu'on atteint un point fixe ? C'est une question intéressante
+! La réponse est inconnue, mais si vous voulez enquêter plus profondément
+(et que vous avez les ressources en puissance de calcul et en capacité de
+stockage pour cela), dites-le nous.
-@unnumberedsubsec Reducing the Set of Bootstrap Binaries
+@unnumberedsec Réduire l'ensemble des binaires de bootstrap
-Our bootstrap binaries currently include GCC, Guile, etc. That's a lot of
-binary code! Why is that a problem? It's a problem because these big chunks
-of binary code are practically non-auditable, which makes it hard to
-establish what source code produced them. Every unauditable binary also
-leaves us vulnerable to compiler backdoors as described by Ken Thompson in
-the 1984 paper @emph{Reflections on Trusting Trust}.
+Nous binaires de bootstrap incluent actuellement GCC, Guile, etc. C'est
+beaucoup de code binaire ! Pourquoi est-ce un problème ? C'est un problème
+parce que ces gros morceaux de code binaire sont en pratique impossibles à
+auditer, ce qui fait qu'il est difficile d'établir quel code source les a
+produit. Chaque binaire non auditable nous rend aussi vulnérable à des
+portes dérobées dans les compilateurs comme le décrit Ken Thompson dans le
+papier de 1984 @emph{Reflections on Trusting Trust}.
-This is mitigated by the fact that our bootstrap binaries were generated
-from an earlier Guix revision. Nevertheless it lacks the level of
-transparency that we get in the rest of the package dependency graph, where
-Guix always gives us a source-to-binary mapping. Thus, our goal is to
-reduce the set of bootstrap binaries to the bare minimum.
+Cela est rendu moins inquiétant par le fait que les binaires de bootstrap
+ont été générés par une révision antérieure de Guix. Cependant, il leur
+manque le niveau de transparence que l'on obtient avec le reste des paquets
+du graphe de dépendance, où Guix nous donne toujours une correspondance
+source-binaire. Ainsi, notre but est de réduire l'ensemble des binaires de
+bootstrap au minimum.
-The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists
-on-going projects to do that. One of these is about replacing the bootstrap
-GCC with a sequence of assemblers, interpreters, and compilers of increasing
-complexity, which could be built from source starting from a simple and
-auditable assembler. Your help is welcome!
+Le @uref{http://bootstrappable.org, site web Bootstrappable.org} liste les
+projets en cours à ce sujet. L'un d'entre eux parle de remplacer le GCC de
+bootstrap par une série d'assembleurs, d'interpréteurs et de compilateurs
+d'une complexité croissante, qui pourraient être construits à partir des
+sources à partir d'un assembleur simple et auditable. Votre aide est la
+bienvenue !
@node Porter
-@section Porter vers une nouvelle plateforme
+@chapter Porter vers une nouvelle plateforme
-As discussed above, the GNU distribution is self-contained, and
-self-containment is achieved by relying on pre-built ``bootstrap binaries''
-(@pxref{Bootstrapping}). These binaries are specific to an operating system
-kernel, CPU architecture, and application binary interface (ABI). Thus, to
-port the distribution to a platform that is not yet supported, one must
-build those bootstrap binaries, and update the @code{(gnu packages
-bootstrap)} module to use them on that platform.
+Comme nous en avons discuté plus haut, la distribution GNU est
+auto-contenue, et cela est possible en se basant sur des « binaires de
+bootstrap » pré-construits (@pxref{Bootstrapping}). Ces binaires sont
+spécifiques au noyau de système d'exploitation, à l'architecture CPU et à
+l'interface applicative binaire (ABI). Ainsi, pour porter la distribution
+sur une plateforme qui n'est pas encore supportée, on doit construire ces
+binaires de bootstrap et mettre à jour le module @code{(gnu packages
+bootstrap)} pour les utiliser sur cette plateforme.
-Fortunately, Guix can @emph{cross compile} those bootstrap binaries. When
-everything goes well, and assuming the GNU tool chain supports the target
-platform, this can be as simple as running a command like this one:
+Heureusement, Guix peut effectuer une @emph{compilation croisée} de ces
+binaires de bootstrap. Lorsque tout va bien, et en supposant que la chaîne
+d'outils GNU supporte la plateforme cible, cela peut être aussi simple que
+de lancer une commande comme ceci :
@example
guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
@end example
-For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu
-packages bootstrap)} must be augmented to return the right file name for
-libc's dynamic linker on that platform; likewise,
-@code{system->linux-architecture} in @code{(gnu packages linux)} must be
-taught about the new platform.
-
-Once these are built, the @code{(gnu packages bootstrap)} module needs to be
-updated to refer to these binaries on the target platform. That is, the
-hashes and URLs of the bootstrap tarballs for the new platform must be added
-alongside those of the currently supported platforms. The bootstrap Guile
-tarball is treated specially: it is expected to be available locally, and
-@file{gnu/local.mk} has rules to download it for the supported
-architectures; a rule for the new platform must be added as well.
-
-In practice, there may be some complications. First, it may be that the
-extended GNU triplet that specifies an ABI (like the @code{eabi} suffix
-above) is not recognized by all the GNU tools. Typically, glibc recognizes
-some of these, whereas GCC uses an extra @code{--with-abi} configure flag
-(see @code{gcc.scm} for examples of how to handle this). Second, some of
-the required packages could fail to build for that platform. Lastly, the
-generated binaries could be broken for some reason.
+Pour que cela fonctione, la procédure @code{glibc-dynamic-linker} dans
+@code{(gnu packages bootstrap)} doit être augmentée pour renvoyer le bon nom
+de fichier pour l'éditeur de lien dynamique de la libc sur cette plateforme
+; de même, il faut indiquer cette nouvelle platefore à
+@code{system->linux-architecture} dans @code{(gnu packages linux)}.
+
+Une fois qu'ils sont construits, le module @code{(gnu packages bootstrap)}
+doit être mis à jour pour se référer à ces binaires sur la plateforme
+cible. C'est à dire que les hashs et les URL des archives de bootstrap pour
+la nouvelle plateforme doivent être ajoutés avec ceux des plateformes
+actuellement supportées. L'archive de bootstrap de Guile est traitée
+séparément : elle doit être disponible localement, et @file{gnu/local.mk} a
+une règle pour la télécharger pour les architectures supportées ; vous devez
+également ajouter une règle pour la nouvelle plateforme.
+
+En pratique, il peut y avoir des complications. Déjà, il se peut que le
+triplet GNU étendu qui spécifie l'ABI (comme le suffixe @code{eabi}
+ci-dessus) ne soit pas reconnu par tous les outils GNU. Typiquement, la
+glibc en reconnais certains, alors que GCC utilise un drapeau de configure
+@code{--with-abi} supplémentaire (voir @code{gcc.scm} pour trouver des
+exemples où ce cas est géré). Ensuite, certains des paquets requis
+pourraient échouer à se construire pour cette plateforme. Enfin, les
+binaires générés pourraient être cassé pour une raison ou une autre.
@c *********************************************************************
@include contributing.fr.texi
@@ -24881,7 +25261,7 @@ generated binaries could be broken for some reason.
@chapter Remerciements
Guix se base sur le @uref{http://nixos.org/nix/, gestionnaire de paquets
-Nix} conçu et implémenté par Eelco Dolstra, avec des constributions d'autres
+Nix} conçu et implémenté par Eelco Dolstra, avec des contributions d'autres
personnes (voir le fichier @file{nix/AUTHORS} dans Guix). Nix a inventé la
gestion de paquet fonctionnelle et promu des fonctionnalités sans précédents
comme les mises à jour de paquets transactionnelles et les retours en
diff --git a/doc/guix.texi b/doc/guix.texi
index dc3b5448b1..ad5dd54281 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4456,17 +4456,18 @@ that will be added to the environment directly.
@item --pure
Unset existing environment variables when building the new environment, except
-those specified with @option{--inherit} (see below.) This has the effect of
+those specified with @option{--preserve} (see below.) This has the effect of
creating an environment in which search paths only contain package inputs.
-@item --inherit=@var{regexp}
-When used alongside @option{--pure}, inherit all the environment variables
+@item --preserve=@var{regexp}
+@itemx -E @var{regexp}
+When used alongside @option{--pure}, preserve the environment variables
matching @var{regexp}---in other words, put them on a ``white list'' of
environment variables that must be preserved. This option can be repeated
several times.
@example
-guix environment --pure --inherit=^SLURM --ad-hoc openmpi @dots{} \
+guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \
-- mpirun @dots{}
@end example
@@ -10695,6 +10696,7 @@ account. System accounts are sometimes treated specially; for instance,
graphical login managers do not list them.
@anchor{user-account-password}
+@cindex password, for user accounts
@item @code{password} (default: @code{#f})
You would normally leave this field to @code{#f}, initialize user
passwords as @code{root} with the @command{passwd} command, and then let
@@ -10702,11 +10704,29 @@ users change it with @command{passwd}. Passwords set with
@command{passwd} are of course preserved across reboot and
reconfiguration.
-If you @emph{do} want to have a preset password for an account, then
-this field must contain the encrypted password, as a string.
-@xref{crypt,,, libc, The GNU C Library Reference Manual}, for more information
-on password encryption, and @ref{Encryption,,, guile, GNU Guile Reference
-Manual}, for information on Guile's @code{crypt} procedure.
+If you @emph{do} want to set an initial password for an account, then
+this field must contain the encrypted password, as a string. You can use the
+@code{crypt} procedure for this purpose:
+
+@example
+(user-account
+ (name "charlie")
+ (home-directory "/home/charlie")
+ (group "users")
+
+ ;; Specify a SHA-512-hashed initial password.
+ (password (crypt "InitialPassword!" "$6$abc")))
+@end example
+
+@quotation Note
+The hash of this initial password will be available in a file in
+@file{/gnu/store}, readable by all the users, so this method must be used with
+care.
+@end quotation
+
+@xref{Passphrase Storage,,, libc, The GNU C Library Reference Manual}, for
+more information on password encryption, and @ref{Encryption,,, guile, GNU
+Guile Reference Manual}, for information on Guile's @code{crypt} procedure.
@end table
@end deftp
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 0e77677de1..d516f5bdc9 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -298,9 +298,9 @@ they already exist."
(gid (passwd:gid pw)))
(mkdir-p home)
(chown home uid gid)
- (unless system?
- (copy-account-skeletons home
- #:uid uid #:gid gid)))))))
+ (chmod home #o700)
+ (copy-account-skeletons home
+ #:uid uid #:gid gid))))))
(for-each ensure-user-home users))
diff --git a/gnu/local.mk b/gnu/local.mk
index de352884a1..e6830f0ecd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -65,6 +65,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/antivirus.scm \
%D%/packages/apl.scm \
%D%/packages/apr.scm \
+ %D%/packages/arcan.scm \
%D%/packages/aspell.scm \
%D%/packages/assembly.scm \
%D%/packages/astronomy.scm \
@@ -250,6 +251,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/iso-codes.scm \
%D%/packages/java.scm \
%D%/packages/java-compression.scm \
+ %D%/packages/java-maths.scm \
%D%/packages/javascript.scm \
%D%/packages/jemalloc.scm \
%D%/packages/jrnl.scm \
@@ -978,6 +980,7 @@ dist_patch_DATA = \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
+ %D%/packages/patches/libopenshot-fixup-tests.patch \
%D%/packages/patches/libopenshot-tests-with-system-libs.patch \
%D%/packages/patches/libotr-test-auth-fix.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
@@ -1030,7 +1033,6 @@ dist_patch_DATA = \
%D%/packages/patches/luminance-hdr-qt-printer.patch \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \
- %D%/packages/patches/lyx-2.2.3-fix-test.patch \
%D%/packages/patches/make-glibc-compat.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \
@@ -1278,6 +1280,7 @@ dist_patch_DATA = \
%D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \
+ %D%/packages/patches/thermald-make-int-max32-visible.patch \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/tinyxml-use-stl.patch \
%D%/packages/patches/tipp10-fix-compiling.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 36a76186f6..f425c2947c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1284,7 +1284,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
- (version "20180810")
+ (version "20190215")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1292,7 +1292,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
- "01drf32h0v1s8yd414rgc9bavb52yffrwpnbzfxd9sk1lwssr6v7"))))
+ "1iy2zwi8aicq0b5a0phfacvk1f9z1d89cx43adcf0qh82gb9m4wg"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@@ -1856,13 +1856,13 @@ platform-specific methods.")
(package
(name "audit")
(home-page "https://people.redhat.com/sgrubb/audit/")
- (version "2.8.4")
+ (version "2.8.5")
(source (origin
(method url-fetch)
(uri (string-append home-page "audit-" version ".tar.gz"))
(sha256
(base32
- "0f4ci6ffznnmgblwgv7ich9mjfk3p6y5l6m6h3chhmzw156nj454"))))
+ "1dzcwb2q78q7x41shcachn7f4aksxbxd470yk38zh03fch1l2p8f"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--with-python=no"
@@ -2523,7 +2523,7 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
- (version "1.7.2")
+ (version "1.8")
(source
(origin
(method git-fetch)
@@ -2532,8 +2532,9 @@ make it a perfect utility on modern distros.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1cs2pq8xvfnsvrhg2bxawk4kn3z1qmfrnpnhs178pvfbglzh15hc"))))
+ (base32 "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92"))
+ (patches
+ (search-patches "thermald-make-int-max32-visible.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
new file mode 100644
index 0000000000..0dfbf33901
--- /dev/null
+++ b/gnu/packages/arcan.scm
@@ -0,0 +1,179 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 L p R n d n <guix@lprndn.info>
+;;;
+;;; 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 arcan)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages apr)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages lua)
+ #:use-module (gnu packages ocr)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (srfi srfi-1))
+
+(define-public arcan
+ (let ((commit "b4dd1fbd1938492ff4b269189d3c8524be7450a9")
+ (revision "1"))
+ (package
+ (name "arcan")
+ (version (git-version "0.5.5.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (file-name (git-file-name name version))
+ (uri (git-reference
+ (url "https://github.com/letoram/arcan.git")
+ (commit commit)))
+ (sha256
+ (base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off"
+ "-DSTATIC_OPENAL=off""-DENABLE_LWA=on"
+ "-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off"
+ "-DSHMIF_TUI_ACCEL=on")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-cmake-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/platform/cmake/modules/FindGBMKMS.cmake"
+ (("/usr/local/include/libdrm")
+ (string-append (assoc-ref inputs "libdrm")
+ "/include/libdrm")))
+ (substitute* "src/platform/cmake/modules/FindAPR.cmake"
+ (("/usr/local/apr/include/apr-1")
+ (string-append (assoc-ref inputs "apr")
+ "/include/apr-1")))
+ #t))
+ ;; Normally, it tries to fetch patched openal with git
+ ;; but copying files manually in the right place seems to work too.
+ (add-after 'unpack 'prepare-static-openal
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((arcan-openal (assoc-ref inputs "arcan-openal")))
+ (copy-recursively arcan-openal "external/git/openal"))
+ #t))
+ (add-after 'prepare-static-openal 'generate-man
+ (lambda _
+ (with-directory-excursion "doc"
+ (invoke "ruby" "docgen.rb" "mangen"))
+ #t))
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "src")
+ #t))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/arcan")
+ `("ARCAN_RESOURCEPATH" ":" suffix
+ (,(string-append out "/share/arcan/resources")))
+ `("ARCAN_STATEBASEPATH" ":" =
+ ("$HOME/.arcan/resources/savestates"))
+ `("ARCAN_STATEPATH" ":" =
+ ("$HOME/.arcan/resources/savestates"))
+ `("ARCAN_BINPATH" ":" =
+ (,(string-append out "/bin/arcan_frameserver")))))
+ #t)))
+ #:tests? #f))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "ARCAN_APPLBASEPATH")
+ (separator #f)
+ (files '("share/arcan/appl")))
+ (search-path-specification
+ (variable "ARCAN_SCRIPTPATH")
+ (separator #f)
+ (files '("share/arcan/scripts")))))
+ (inputs
+ `(("apr" ,apr)
+ ("ffmpeg" ,ffmpeg)
+ ("freetype" ,freetype)
+ ("glib" ,glib)
+ ("glu" ,glu)
+ ("harfbuzz" ,harfbuzz)
+ ("libdrm" ,libdrm)
+ ("libusb" ,libusb)
+ ("libxkbcommon" ,libxkbcommon)
+ ("lua" ,luajit)
+ ("lzip" ,lzip)
+ ("openal" ,openal)
+ ("pcre" ,pcre)
+ ("sqlite" ,sqlite)
+ ("tesseract-ocr" ,tesseract-ocr)
+ ("leptonica" ,leptonica)
+ ("vlc" ,vlc)
+ ;; To build arcan_lwa, we need a patched version of openal.
+ ;; https://github.com/letoram/arcan/wiki/packaging
+ ("arcan-openal" ,(origin
+ (method git-fetch)
+ (file-name "arcan-openal-0.5.4")
+ (uri (git-reference
+ (url "https://github.com/letoram/openal.git")
+ (commit "1c7302c580964fee9ee9e1d89ff56d24f934bdef")))
+ (sha256
+ (base32
+ "0dcxcnqjkyyqdr2yk84mprvkncy5g172kfs6vc4zrkklsbkr8yi2"))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("ruby" ,ruby))) ; For documentation and testing
+ (home-page "https://arcan-fe.com")
+ (synopsis "Display server, multimedia framework and game engine (egl-dri)")
+ (description "Arcan is a development framework for creating virtually
+anything from user interfaces for specialized embedded applications
+all the way to full-blown desktop environments. At its heart lies a multimedia
+engine programmable using Lua.")
+ ;; https://github.com/letoram/arcan/blob/master/COPYING
+ (license (list license:gpl2+
+ license:lgpl2.0
+ license:lgpl2.0+
+ license:public-domain
+ license:bsd-3)))))
+
+(define-public arcan-sdl
+ (package
+ (inherit arcan)
+ (name "arcan-sdl")
+ (inputs
+ `(("sdl" ,sdl)
+ ,@(fold alist-delete (package-inputs arcan)
+ '("libdrm"))))
+ (arguments
+ `(,@(ensure-keyword-arguments
+ (package-arguments arcan)
+ '(#:configure-flags
+ '("-DVIDEO_PLATFORM=sdl" "-DBUILTIN_LUA=off"
+ "-DSTATIC_OPENAL=off" "-DDISABLE_JIT=off"
+ "-DENABLE_LWA=on" "-DSTATIC_SQLITE3=off"
+ "-DSTATIC_FREETYPE=off" "-DSHMIF_TUI_ACCEL=on")))))
+ (synopsis "Combined display server, multimedia framework and game engine (SDL)")))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d395a52f29..395cdfed0d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -87,6 +88,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
@@ -1739,14 +1741,14 @@ essential distortions.")
(define-public liblo
(package
(name "liblo")
- (version "0.29")
+ (version "0.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/liblo/liblo/" version
"/liblo-" version ".tar.gz"))
(sha256
(base32
- "0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc"))))
+ "06wdjzxjdshr6hyl4c94yvg3jixiylap8yjs8brdfpm297gck9rh"))))
(build-system gnu-build-system)
(arguments
`(;; liblo test FAILED
@@ -3673,3 +3675,29 @@ surround).")
high-quality editing and playback of audio, and is based on the JUCE
library.")
(license license:lgpl3+)))
+
+(define-public faudio
+ (package
+ (name "faudio")
+ (version "19.03")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FNA-XNA/FAudio.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32 "0v5l67ixr5kd9jz5sza8xgzxamqnlgn3gs1q8gg6ir60g0jvzbd4"))))
+ (arguments
+ '(#:tests? #f ; No tests.
+ #:configure-flags '("-DFFMPEG=ON")))
+ (build-system cmake-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("ffmpeg" ,ffmpeg)
+ ("sdl2" ,sdl2)))
+ (home-page "https://github.com/FNA-XNA/FAudio")
+ (synopsis "XAudio reimplementation")
+ (description "FAudio is an XAudio reimplementation that focuses solely on
+developing fully accurate DirectX Audio runtime libraries.")
+ (license license:zlib)))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 9057158cde..ae9d7070c3 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -1199,3 +1199,32 @@ sequencing data.")
algorithm to segment DNA copy number data and identify genomic regions with
abnormal copy number.")
(license license:gpl2+)))
+
+;; This is a CRAN package, but it uncharacteristically depends on a
+;; Bioconductor package.
+(define-public r-htscluster
+ (package
+ (name "r-htscluster")
+ (version "2.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "HTSCluster" version))
+ (sha256
+ (base32
+ "0wnbfh6hdx8692jilgmv8sys1zm6fqc6mim7vvjhyqlmpm8gm0kg"))))
+ (properties `((upstream-name . "HTSCluster")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-capushe" ,r-capushe)
+ ("r-edger" ,r-edger)
+ ("r-plotrix" ,r-plotrix)))
+ (home-page "https://cran.r-project.org/web/packages/HTSCluster")
+ (synopsis "Clustering high-throughput transcriptome sequencing (HTS) data")
+ (description
+ "This package provides a Poisson mixture model is implemented to cluster
+genes from high-throughput transcriptome sequencing (RNA-seq) data. Parameter
+estimation is performed using either the EM or CEM algorithm, and the slope
+heuristics are used for model selection (i.e., to choose the number of
+clusters).")
+ (license license:gpl3+)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 23976ceda0..982cb7a984 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12902,7 +12902,7 @@ expression report comparing samples in an easily configurable manner.")
(define-public pigx-chipseq
(package
(name "pigx-chipseq")
- (version "0.0.21")
+ (version "0.0.31")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@@ -12910,7 +12910,7 @@ expression report comparing samples in an easily configurable manner.")
"/pigx_chipseq-" version ".tar.gz"))
(sha256
(base32
- "0psgdzlnx5xwhlhpss5yvmnl7yv19y9742l97m04f7awd8w74gxs"))))
+ "0l3vd9xwqzap3mmyj8xwqp84kj7scbq308diqnwg2albphl75xqs"))))
(build-system gnu-build-system)
;; parts of the tests rely on access to the network
(arguments '(#:tests? #f))
diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm
index 22b54d47ac..559688470e 100644
--- a/gnu/packages/calcurse.scm
+++ b/gnu/packages/calcurse.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,15 +30,14 @@
(define-public calcurse
(package
(name "calcurse")
- (version "4.3.0")
+ (version "4.4.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://calcurse.org/files/calcurse-"
- version ".tar.gz"))
- (sha256
- (base32
- "16jzg0nasnxdlz23i121x41pq5kbxmjzk52c5d863rg117fc7v1i"))))
+ (method url-fetch)
+ (uri (string-append "https://calcurse.org/files/calcurse-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(native-inputs `(("tzdata" ,tzdata-for-tests)))
@@ -46,15 +45,25 @@
;; The ical tests all want to create a ".calcurse" directory, and may
;; fail with "cannot create directory '.calcurse': File exists" if run
;; concurently.
- `(#:parallel-tests? #f
+ `(#:configure-flags
+ (list (string-append "--docdir=" (assoc-ref %outputs "out")
+ "/share/doc/" ,name "-" ,version))
+ #:parallel-tests? #f
;; Since this tzdata is only used for tests and not referenced by the
;; built package, used the "fixed" obsolete version of tzdata and ensure
;; it does not sneak in to the closure.
#:disallowed-references (,tzdata-for-tests)
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'respect-docdir
+ ;; doc/Makefile disregards ./configure's --docdir option.
+ (lambda _
+ (substitute* "doc/Makefile.in"
+ (("(docdir =) .*" _ match)
+ (format "~a @docdir@\n" match)))
+ #t))
(add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys)
- (setenv "TZDIR" ;for test/ical-007.sh
+ (setenv "TZDIR" ; for test/ical-007.sh
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))))))
(home-page "https://www.calcurse.org")
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index c80a51dedc..7d49b06ce3 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -224,7 +224,7 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %chromium-version "72.0.3626.119")
+(define %chromium-version "72.0.3626.121")
(define %ungoogled-revision "a80839c418de8843dfcd6c13a557f12d26a0a17a")
(define package-revision "0")
@@ -245,7 +245,7 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
- "0ylig933xzn6c0018nxq95xhl0wkxcm95fdiy2c7s4a4h3hkr5dk"))))
+ "07xwmlvmzfga61nrimqmzl7s29jb4kc94nkzwwlb7sh6nr55a7jc"))))
(ungoogled-source
(origin
(method git-fetch)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 3cd8c4cb69..83f5cd29af 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -184,15 +184,15 @@ provers.")
(define-public coq-flocq
(package
(name "coq-flocq")
- (version "2.6.1")
+ (version "3.1.0")
(source (origin
(method url-fetch)
;; Use the ‘Latest version’ link for a stable URI across releases.
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
- "file/37454/flocq-" version ".tar.gz"))
+ "file/37901/flocq-" version ".tar.gz"))
(sha256
(base32
- "06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin"))))
+ "02szrgz9m0ac51la1lqpiv6i2g0zbgx9gz5rp0q1g00ajldyna5c"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
@@ -327,14 +327,14 @@ part of the distribution.")
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
- (version "3.0.1")
+ (version "3.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
- "file/37045/coquelicot-" version ".tar.gz"))
+ "file/37523/coquelicot-" version ".tar.gz"))
(sha256
(base32
- "0hsyhsy2lwqxxx2r8xgi5csmirss42lp9bkb9yy35mnya0w78c8r"))))
+ "1biia7nfqf7vaqq5gmykl4rwjyvrcwss6r2jdf0in5pvp2rnrj2w"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
@@ -348,12 +348,6 @@ part of the distribution.")
"/lib/coq/user-contrib/Coquelicot"))
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'fix-coq8.8
- (lambda _
- ; appcontext has been removed from coq 8.8
- (substitute* "theories/AutoDerive.v"
- (("appcontext") "context"))
- #t))
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
@@ -413,14 +407,14 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(define-public coq-interval
(package
(name "coq-interval")
- (version "3.3.0")
+ (version "3.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
- "file/37077/interval-" version ".tar.gz"))
+ "file/37524/interval-" version ".tar.gz"))
(sha256
(base32
- "08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903"))))
+ "023j9sd64brqvjdidqkn5m8d7a93zd9r86ggh573z9nkjm2m7vvg"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 54031fa87a..cc23c53f4c 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -10681,3 +10681,24 @@ functions are provided.")
help you to better understand object oriented programming in R, particularly
using @code{S3}.")
(license license:gpl3)))
+
+(define-public r-capushe
+ (package
+ (name "r-capushe")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "capushe" version))
+ (sha256
+ (base32
+ "1aa76ir1kp67hiz7dr60azyc71yzslshyc640fjh0fpw0sp5kwbc"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-mass" ,r-mass)))
+ (home-page "https://cran.r-project.org/web/packages/capushe/index.html")
+ (synopsis "Calibrating penalities using slope heuristics")
+ (description
+ "This package provides tools for the calibration of penalized criteria
+for model selection. The calibration methods available are based on the slope
+heuristics.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c1b6a329ee..f63257034f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -837,7 +837,7 @@ types are supported, as is encryption.")
(define-public rocksdb
(package
(name "rocksdb")
- (version "5.15.10")
+ (version "5.18.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -846,7 +846,7 @@ types are supported, as is encryption.")
(file-name (git-file-name name version))
(sha256
(base32
- "0q26frbj9pykarcfa0yxgwncxlvsqhjkby0jrbfs1a8srja688r4"))
+ "1v2slmmr1dsgf8z0qcfg1y9x1al96859rg48b66p9nsawczd5zv9"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1031,14 +1031,14 @@ changes.")
(define-public tdb
(package
(name "tdb")
- (version "1.3.16")
+ (version "1.3.18")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/tdb/tdb-"
version ".tar.gz"))
(sha256
(base32
- "1ibcz466xwk1x6xvzlgzd5va4lyrjzm3rnjak29kkwk7cmhw4gva"))))
+ "1drnsdh1w0px35r0y7l7g59yvyr67mvcsdrli4wab0mwi07b8mn1"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1055,7 +1055,8 @@ changes.")
;; ("docbook-xsl" ,docbook-xsl)
;; ("libxml2" ,libxml2)
;; ("libxslt" ,libxslt)
- ("python" ,python-2))) ;for the Waf build system
+ ("python" ,python) ;for the Waf build system
+ ("which" ,which)))
(home-page "https://tdb.samba.org/")
(synopsis "Trivial database")
(description
@@ -2478,13 +2479,13 @@ reasonable substitute.")
(define-public python-redis
(package
(name "python-redis")
- (version "2.10.6")
+ (version "3.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "redis" version))
(sha256
- (base32 "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52"))))
+ (base32 "0m1b88wg1w6xdwg0siky5k86x8sh6smhbr42ixz41ra81lv34jbj"))))
(build-system python-build-system)
;; Tests require a running Redis server
(arguments '(#:tests? #f))
@@ -2503,13 +2504,13 @@ reasonable substitute.")
(define-public python-rq
(package
(name "python-rq")
- (version "0.12.0")
+ (version "0.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rq" version))
(sha256
- (base32 "16d8kni57xlnah2hawy4xgw21xrv3f64j5q5shyp3zxx4yd9iibs"))))
+ (base32 "0xvapd2bxnyq480i48bdkddzlqmv2axbsq85rlfy8k3al8zxxxrf"))))
(build-system python-build-system)
(propagated-inputs
`(("python-click" ,python-click)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index bce84449e1..9bb81621d9 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -218,14 +218,14 @@ them do this.")
(define-public python-django-allauth
(package
(name "python-django-allauth")
- (version "0.30.0")
+ (version "0.39.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-allauth" version))
(sha256
(base32
- "1fslqc5qqb0b66yscvkyjwfv8cnbfx5nlkpnwimyb3pf1nc1w7r3"))))
+ "17l0acpr3cihdndzccjhgv58f9z170v2qwx7w0b8w6235x646i24"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -234,19 +234,20 @@ them do this.")
(add-before 'check 'skip-test-requiring-network-access
(lambda _
(substitute* "allauth/socialaccount/providers/openid/tests.py"
+ (("import override_settings") "import tag, override_settings")
(("def test_login")
- "from django.test import tag
- @tag('requires-web')
+ "@tag('requires-web')
def test_login"))))
(replace 'check
(lambda _
+ ;; TODO: investigate why this test fails
+ (delete-file "allauth/socialaccount/providers/cern/tests.py")
(setenv "DJANGO_SETTINGS_MODULE" "test_settings")
- (zero? (system*
- "django-admin"
+ (invoke "django-admin"
"test"
"allauth"
"--verbosity=2"
- "--exclude-tag=requires-web")))))))
+ "--exclude-tag=requires-web"))))))
(propagated-inputs
`(("python-openid" ,python-openid)
("python-requests" ,python-requests)
@@ -638,22 +639,22 @@ support, and optional data-URI image and font embedding.")
(define-public python-django-redis
(package
(name "python-django-redis")
- (version "4.7.0")
+ (version "4.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-redis" version))
(sha256
(base32
- "0yyyxv8n9l9dhs893jsqwg2cxqkkc79g719n9dzzzqgkzialv1c1"))))
+ "1rxcwnv9ik0swkwvfqdi9i9baw6n8if5pj6q63fjh4p9chw3j2xg"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (and (zero? (system* "redis-server" "--daemonize" "yes"))
- (with-directory-excursion "tests"
- (zero? (system* "python" "runtests.py")))))))))
+ (invoke "redis-server" "--daemonize" "yes")
+ (with-directory-excursion "tests"
+ (invoke "python" "runtests.py")))))))
(native-inputs
`(("python-fakeredis" ,python-fakeredis)
("python-hiredis" ,python-hiredis)
@@ -675,25 +676,26 @@ support, and optional data-URI image and font embedding.")
(define-public python-django-rq
(package
(name "python-django-rq")
- (version "0.9.4")
+ (version "1.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-rq" version))
(sha256
(base32
- "04v8ilfdp10bk31fxgh4cn083gsn5m06342cnpm5d10nd8hc0vky"))))
+ "0xh6qa7i779vh58lwwv6yk0wx8bi38mvmpz79grnl2cl8531r928"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (and (zero? (system* "redis-server" "--daemonize" "yes"))
- (zero? (system* "django-admin.py" "test" "django_rq"
- "--settings=django_rq.test_settings"
- "--pythonpath="))))))))
+ (invoke "redis-server" "--daemonize" "yes")
+ (invoke "django-admin.py" "test" "django_rq"
+ "--settings=django_rq.tests.settings"
+ "--pythonpath="))))))
(native-inputs
- `(("redis" ,redis)))
+ `(("python-mock" ,python-mock)
+ ("redis" ,redis)))
(propagated-inputs
`(("python-django" ,python-django)
("python-rq" ,python-rq)))
@@ -788,14 +790,14 @@ static files.")
(define-public pootle
(package
(name "pootle")
- (version "2.8.0rc5")
+ (version "2.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pootle" version ".tar.bz2"))
(sha256
(base32
- "0m6qcpkcy22dk3ad5y2k8851kqg2w6vrkywgy4vabwbacd7r1mvn"))))
+ "1ng8igq0alsqzasgxdh3fb23581anyzp121h9041pwdzzv98kn4m"))))
(build-system python-build-system)
(arguments
`(; pootle supports only python2.
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 36cc005549..712dafae90 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
+;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -253,16 +254,16 @@ on stdout instead of using a socket as the Emacsclient does.")
(define-public emacs-magit
(package
(name "emacs-magit")
- (version "2.13.1")
+ (version "2.90.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/magit/magit")
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1kmjjcvhcb21qi6kmrlhf92ync8va5l41n9ban8kj25h7dbqyiym"))))
+ "1kw94sdczswsyzn1zlk5s5aplpdv4qd7qcqc5zfxsmsfwm3jacl4"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-minimal)))
@@ -11131,6 +11132,29 @@ my_thing reload} all the time. It offers a consistent UI over different init
systems.")
(license license:gpl3+)))
+(define-public emacs-isearch+
+ (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
+ (revision "1"))
+ (package
+ (name "emacs-isearch+")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacsmirror/isearch-plus.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
+ (build-system emacs-build-system)
+ (home-page "https://www.emacswiki.org/emacs/isearch+.el")
+ (synopsis "Extensions to @code{isearch.el}")
+ (description "This package extends @code{isearch} with advice, dynamic
+filters, highlighting of regexp group levels, and more.")
+ (license license:gpl2+))))
+
(define-public emacs-esh-autosuggest
(package
(name "emacs-esh-autosuggest")
@@ -11161,29 +11185,30 @@ autosuggestions with:
(license license:gpl3+)))
(define-public emacs-desktop-environment
- (package
- (name "emacs-desktop-environment")
- (version "0.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/DamienCassou/desktop-environment.git")
- (commit (string-append "v" version))))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "1fal3yfmqg10cb53qsf5gsq2gvyz9w16wmlpnpjwjzwnjfn6l73r"))))
- (build-system emacs-build-system)
- (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
- (synopsis "Control your GNU/Linux desktop environment from Emacs")
- (description
- "This package helps you control your GNU/Linux desktop from Emacs.
+ (let ((commit "a9eba14f2b5b8070f78dca839ca8259736e346a6"))
+ (package
+ (name "emacs-desktop-environment")
+ (version (git-version "0.2.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz"))))
+ (build-system emacs-build-system)
+ (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
+ (synopsis "Control your GNU/Linux desktop environment from Emacs")
+ (description
+ "This package helps you control your GNU/Linux desktop from Emacs.
With @code{desktop-environment}, you can control the brightness and volume as
well as take screenshots and lock your screen. The package depends on the
availability of shell commands to do the hard work for us. These commands can
be changed by customizing the appropriate variables.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-org-caldav
(package
@@ -11239,10 +11264,10 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
(deprecated-package "emacs-evil-ediff" emacs-evil-collection))
(define-public emacs-evil-magit
- (let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8"))
+ (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
(package
(name "emacs-evil-magit")
- (version (git-version "0.4.2" "1" commit))
+ (version (git-version "0.4.2" "2" commit))
(source
(origin
(method git-fetch)
@@ -11252,7 +11277,7 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0ya0dkviq4pi92ab69a4j674y5r1hc1x3x7r7hlm97ag3a6zfkav"))))
+ "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
@@ -11508,10 +11533,10 @@ you searched for and execute it, or view its documentation.")
(license license:gpl3+))))
(define-public emacs-helm-emms
- (let ((commit "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec"))
+ (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
(package
(name "emacs-helm-emms")
- (version (git-version "1.3" "1" commit))
+ (version (git-version "1.3" "2" commit))
(source
(origin
(method git-fetch)
@@ -11521,7 +11546,7 @@ you searched for and execute it, or view its documentation.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0bdb8xp0yp3gijpa9i2rc17gfzjhzlm92vdzw93i10qpd1xhj4aa"))))
+ "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
@@ -12125,7 +12150,7 @@ buffers – other modes on the TODO list).
(define-public emacs-magit-todos
(package
(name "emacs-magit-todos")
- (version "1.1")
+ (version "1.1.7")
(source
(origin
(method git-fetch)
@@ -12135,7 +12160,7 @@ buffers – other modes on the TODO list).
(file-name (git-file-name name version))
(sha256
(base32
- "1mvzbxshr6zjdim3jd368ar1hy5l7n22i03cpvzdmrw83kkwdyhd"))))
+ "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -13161,10 +13186,10 @@ recursively. The results are cached for speed.")
(license license:gpl3+)))
(define-public emacs-orgit
- (let ((commit "ddb830c38cb71e5cf86db7fa62d6ee88ab3962d5"))
+ (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
(package
(name "emacs-orgit")
- (version (git-version "1.5.1" "1" commit))
+ (version (git-version "1.5.1" "2" commit))
(home-page "https://github.com/magit/orgit")
(source (origin
(method git-fetch)
@@ -13174,7 +13199,7 @@ recursively. The results are cached for speed.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fy4n71yskfkjl6w9mzrw3pfd5lp8f48g2c9bxiwg7mwzsmsb9nb"))))
+ "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 821065c56f..34b70fe9e8 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -115,6 +115,7 @@
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no check target
+ #:configure-flags (list "--with-modules")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-/bin/pwd
@@ -201,11 +202,11 @@ languages.")
(synopsis "The extensible text editor (used only for byte-compilation)")
(build-system gnu-build-system)
(arguments
- `(#:configure-flags (list "--with-gnutls=no")
- ,@(substitute-keyword-arguments (package-arguments emacs)
+ `(,@(substitute-keyword-arguments (package-arguments emacs)
((#:phases phases)
`(modify-phases ,phases
- (delete 'install-site-start))))))
+ (delete 'install-site-start))))
+ #:configure-flags (list "--with-gnutls=no")))
(inputs
`(("ncurses" ,ncurses)))
(native-inputs
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 5d2df5442f..fe44e0a064 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -793,7 +793,7 @@ programming langauage. It also contains the utility
(define-public appstream-glib
(package
(name "appstream-glib")
- (version "0.7.14")
+ (version "0.7.15")
(source (origin
(method url-fetch)
(uri (string-append "https://people.freedesktop.org/~hughsient/"
@@ -801,7 +801,7 @@ programming langauage. It also contains the utility
"appstream-glib-" version ".tar.xz"))
(sha256
(base32
- "0n0s99jmx2sx5895lcvmfjwa9r0f06i71495dpn9v9frz4asvk3d"))))
+ "17ram4j3cvs78si0gi1labarr91pw68zn8kam41cqbvlwdyr89vy"))))
(build-system meson-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2278717fc2..cc0e40d43b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2706,7 +2706,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
(define-public libsecret
(package
(name "libsecret")
- (version "0.18.7")
+ (version "0.18.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2715,7 +2715,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
name "-" version ".tar.xz"))
(sha256
(base32
- "11ylmcfx6ff7xd1gpi58i2nbma83lz2xg0g2dq23w6snqhgzwrhd"))))
+ "058x64689k55wxfkdp4svhnwvv8jmqm7z5mrynybl38f4sfqiyiv"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -4214,15 +4214,15 @@ work and the interface is well tested.")
(define-public eolie
(package
(name "eolie")
- (version "0.9.45")
+ (version "0.9.52")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.gnome.org/World/eolie/"
- "uploads/020f3f686e2b938731752a1d9f5bfa7e/"
+ "uploads/d95bf72958276c80dfaca8cce0e4e92c/"
"eolie-" version ".tar.xz"))
(sha256
(base32
- "0371p7g13r0b7zjc48fdcil43ddwpmyvkd2a4vv6ifsqmny6kl42"))))
+ "1s3b0rkm8sxmhzzi624snzqvz61i1rja5wxyzw6jg2kcdjcylwln"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
diff --git a/gnu/packages/java-maths.scm b/gnu/packages/java-maths.scm
new file mode 100644
index 0000000000..6c22f2938d
--- /dev/null
+++ b/gnu/packages/java-maths.scm
@@ -0,0 +1,89 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; 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 java-maths)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system ant)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages ruby))
+
+(define-public java-jblas
+ (package
+ (name "java-jblas")
+ (version "1.2.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mikiobraun/jblas.git")
+ (commit (string-append "jblas-" version))))
+ (sha256
+ (base32
+ "0afh48hq8i8li5z11x415c8slwsfrlib0w1xjfbg186mximqvv3g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are none
+ #:configure-flags
+ (list (string-append "--libpath="
+ (assoc-ref %build-inputs "openblas")
+ "/lib")
+ "--build-type=openblas")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-writable
+ (lambda _
+ (map make-file-writable
+ (find-files "." ".*"))
+ #t))
+ (add-before 'build 'setenv-JAVA_HOME
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
+ #t))
+ (add-after 'build 'build-jar
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "M2_HOME" (assoc-ref outputs "out"))
+ (invoke "ant" "jar" (string-append "-Dversion=" ,version))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((target (string-append (assoc-ref outputs "out")
+ "/share/java")))
+ (mkdir-p target)
+ (install-file (string-append "jblas-" ,version ".jar") target))
+ #t)))))
+ (inputs
+ `(("openblas" ,openblas)))
+ (native-inputs
+ `(("ant" ,ant)
+ ("ruby" ,ruby) ; for configure script
+ ("gfortran" ,gfortran)
+ ("jdk" ,icedtea "jdk")))
+ (home-page "http://jblas.org")
+ (synopsis "Linear algebra for Java")
+ (description
+ "jblas is a fast linear algebra library for Java. jblas is based on BLAS
+and LAPACK, the de-facto industry standard for matrix computations, and uses
+state-of-the-art implementations for all its computational routines, making
+jBLAS very fast.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9747569009..43ba9d2d17 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10622,12 +10622,14 @@ and reporting) project dependencies. It is characterized by the following:
(name "java-eclipse-sisu-inject")
(version "0.3.3")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/eclipse/sisu.inject/"
- "archive/releases/" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eclipse/sisu.inject/")
+ (commit "releases/0.3.3")))
+ (file-name (git-file-name name version))
(sha256
(base32
- "11rg6yw5nl13i65xsp4jxxgr341qcnnaan48p767h28kb07s0ajn"))))
+ "0gibc9x0bw0f4ls086fx73610fcspz9g2as7kcpcfhvl5znysvg7"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "eclipse-sisu-inject.jar"
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a9c8b9f4e6..90bd79ae3c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -2017,7 +2017,7 @@ transfer protocols.")
(modify-phases %standard-phases
;; Fix some incorrectly hard-coded external tool file names.
(add-after 'unpack 'patch-FHS-file-names
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda _
(substitute* "smtpd/smtpctl.c"
(("/bin/cat") (which "cat"))
(("/bin/sh") (which "sh")))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index aa001ffe34..46af70f9d7 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3637,7 +3637,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "3.0.3")
+ (version "3.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3646,7 +3646,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
- "1drgmivqs2c5xck7dy5y9xf41wfnnj7n84069h273q96b783cx3f"))
+ "05cn4j5f7xr438lgl0by3lrc7wckdgicdn4jrvxfqic8hv81sca7"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index d43bf619d9..f7477230a6 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -912,7 +912,7 @@ private (reserved).")
(define-public perl-net-dns
(package
(name "perl-net-dns")
- (version "1.18")
+ (version "1.19")
(source
(origin
(method url-fetch)
@@ -923,8 +923,7 @@ private (reserved).")
(string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-"
version ".tar.gz")))
(sha256
- (base32
- "1lx902cbvlfl63bqfdrnyavmfwbjvrfdnwgdc1dgs1wpzja19kjj"))))
+ (base32 "1myc23vz0m42yyg8iw7bf1pdrmx9ql6fhl2vwk1vwf55v6yphqi0"))))
(build-system perl-build-system)
(inputs
`(("perl-digest-hmac" ,perl-digest-hmac)))
diff --git a/gnu/packages/patches/libopenshot-fixup-tests.patch b/gnu/packages/patches/libopenshot-fixup-tests.patch
new file mode 100644
index 0000000000..9a0bcc5e8f
--- /dev/null
+++ b/gnu/packages/patches/libopenshot-fixup-tests.patch
@@ -0,0 +1,148 @@
+From 691536f2f8a9ed7322fedb24d489db08c70705b9 Mon Sep 17 00:00:00 2001
+From: "Dr. Tobias Quathamer" <toddy@debian.org>
+Date: Sat, 18 Nov 2017 13:54:22 +0100
+Subject: [PATCH] This the combination of two patches:
+ https://sources.debian.org/data/main/libo/libopenshot/0.2.2+dfsg1-1/debian/patches/0003-Fix-failing-tests-by-using-a-fault-tolerance.patch
+ https://sources.debian.org/data/main/libo/libopenshot/0.2.2+dfsg1-1/debian/patches/0004-Add-some-more-fault-tolerance-for-arm64.patch
+
+Together they should fix the test suite on all architectures
+---
+ tests/FFmpegReader_Tests.cpp | 9 ++++-----
+ tests/ImageWriter_Tests.cpp | 8 ++++----
+ tests/Timeline_Tests.cpp | 28 ++++++++++++++--------------
+ 3 files changed, 22 insertions(+), 23 deletions(-)
+
+diff --git a/tests/FFmpegReader_Tests.cpp b/tests/FFmpegReader_Tests.cpp
+index 53563ca..07fc41e 100644
+--- a/tests/FFmpegReader_Tests.cpp
++++ b/tests/FFmpegReader_Tests.cpp
+@@ -95,8 +95,8 @@ TEST(FFmpegReader_Check_Video_File)
+ int pixel_index = 112 * 4; // pixel 112 (4 bytes per pixel)
+
+ // Check image properties on scanline 10, pixel 112
+- CHECK_EQUAL(21, (int)pixels[pixel_index]);
+- CHECK_EQUAL(191, (int)pixels[pixel_index + 1]);
++ CHECK_CLOSE(21, (int)pixels[pixel_index], 1);
++ CHECK_CLOSE(191, (int)pixels[pixel_index + 1], 2);
+ CHECK_EQUAL(0, (int)pixels[pixel_index + 2]);
+ CHECK_EQUAL(255, (int)pixels[pixel_index + 3]);
+
+@@ -109,8 +109,8 @@ TEST(FFmpegReader_Check_Video_File)
+
+ // Check image properties on scanline 10, pixel 112
+ CHECK_EQUAL(0, (int)pixels[pixel_index]);
+- CHECK_EQUAL(96, (int)pixels[pixel_index + 1]);
+- CHECK_EQUAL(188, (int)pixels[pixel_index + 2]);
++ CHECK_CLOSE(96, (int)pixels[pixel_index + 1], 1);
++ CHECK_CLOSE(188, (int)pixels[pixel_index + 2], 1);
+ CHECK_EQUAL(255, (int)pixels[pixel_index + 3]);
+
+ // Close reader
+@@ -209,4 +209,3 @@ TEST(FFmpegReader_Multiple_Open_and_Close)
+ // Close reader
+ r.Close();
+ }
+-
+diff --git a/tests/ImageWriter_Tests.cpp b/tests/ImageWriter_Tests.cpp
+index 107ee39..d10c8bd 100644
+--- a/tests/ImageWriter_Tests.cpp
++++ b/tests/ImageWriter_Tests.cpp
+@@ -73,9 +73,9 @@ TEST(ImageWriter_Test_Gif)
+ int pixel_index = 230 * 4; // pixel 230 (4 bytes per pixel)
+
+ // Check image properties
+- CHECK_EQUAL(20, (int)pixels[pixel_index]);
+- CHECK_EQUAL(18, (int)pixels[pixel_index + 1]);
+- CHECK_EQUAL(11, (int)pixels[pixel_index + 2]);
++ CHECK_CLOSE(20, (int)pixels[pixel_index], 5);
++ CHECK_CLOSE(18, (int)pixels[pixel_index + 1], 2);
++ CHECK_CLOSE(11, (int)pixels[pixel_index + 2], 2);
+ CHECK_EQUAL(255, (int)pixels[pixel_index + 3]);
+ }
+-#endif
+\ No newline at end of file
++#endif
+diff --git a/tests/Timeline_Tests.cpp b/tests/Timeline_Tests.cpp
+index 8c81579..4d861a6 100644
+--- a/tests/Timeline_Tests.cpp
++++ b/tests/Timeline_Tests.cpp
+@@ -119,8 +119,8 @@ TEST(Timeline_Check_Two_Track_Video)
+ int pixel_index = 230 * 4; // pixel 230 (4 bytes per pixel)
+
+ // Check image properties
+- CHECK_EQUAL(21, (int)f->GetPixels(pixel_row)[pixel_index]);
+- CHECK_EQUAL(191, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
++ CHECK_CLOSE(21, (int)f->GetPixels(pixel_row)[pixel_index], 2);
++ CHECK_CLOSE(191, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2);
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+@@ -128,17 +128,17 @@ TEST(Timeline_Check_Two_Track_Video)
+ f = t.GetFrame(2);
+
+ // Check image properties
+- CHECK_EQUAL(176, (int)f->GetPixels(pixel_row)[pixel_index]);
++ CHECK_CLOSE(176, (int)f->GetPixels(pixel_row)[pixel_index], 1);
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
+- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
++ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+ // Get frame
+ f = t.GetFrame(3);
+
+ // Check image properties
+- CHECK_EQUAL(23, (int)f->GetPixels(pixel_row)[pixel_index]);
+- CHECK_EQUAL(190, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
++ CHECK_CLOSE(23, (int)f->GetPixels(pixel_row)[pixel_index], 1);
++ CHECK_CLOSE(190, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2);
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+@@ -146,8 +146,8 @@ TEST(Timeline_Check_Two_Track_Video)
+ f = t.GetFrame(24);
+
+ // Check image properties
+- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index]);
+- CHECK_EQUAL(106, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
++ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index], 1);
++ CHECK_CLOSE(106, (int)f->GetPixels(pixel_row)[pixel_index + 1], 1);
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+@@ -155,8 +155,8 @@ TEST(Timeline_Check_Two_Track_Video)
+ f = t.GetFrame(5);
+
+ // Check image properties
+- CHECK_EQUAL(23, (int)f->GetPixels(pixel_row)[pixel_index]);
+- CHECK_EQUAL(190, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
++ CHECK_CLOSE(23, (int)f->GetPixels(pixel_row)[pixel_index], 1);
++ CHECK_CLOSE(190, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2);
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+@@ -165,17 +165,17 @@ TEST(Timeline_Check_Two_Track_Video)
+
+ // Check image properties
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index]);
+- CHECK_EQUAL(94, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
+- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
++ CHECK_CLOSE(94, (int)f->GetPixels(pixel_row)[pixel_index + 1], 1);
++ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+ // Get frame
+ f = t.GetFrame(4);
+
+ // Check image properties
+- CHECK_EQUAL(176, (int)f->GetPixels(pixel_row)[pixel_index]);
++ CHECK_CLOSE(176, (int)f->GetPixels(pixel_row)[pixel_index], 1);
+ CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
+- CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
++ CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1);
+ CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
+
+ // Close reader
+--
+2.21.0
+
diff --git a/gnu/packages/patches/lyx-2.2.3-fix-test.patch b/gnu/packages/patches/lyx-2.2.3-fix-test.patch
deleted file mode 100644
index 10b7d2a3a9..0000000000
--- a/gnu/packages/patches/lyx-2.2.3-fix-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-See https://www.lyx.org/trac/ticket/10800#comment:17
-diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx
-index feff755cd2..2c7f2ace5c 100644
---- a/src/tex2lyx/test/test-structure.lyx.lyx
-+++ b/src/tex2lyx/test/test-structure.lyx.lyx
-@@ -212,7 +212,7 @@ This causes the
- \begin_inset Flex Flex:Strong
- status collapsed
-
--\begin_layout Standard
-+\begin_layout Plain Layout
- logikalmkup
- \end_layout
diff --git a/gnu/packages/patches/thermald-make-int-max32-visible.patch b/gnu/packages/patches/thermald-make-int-max32-visible.patch
new file mode 100644
index 0000000000..eddbb23547
--- /dev/null
+++ b/gnu/packages/patches/thermald-make-int-max32-visible.patch
@@ -0,0 +1,24 @@
+From 5fb947886bf1e40475edf930fb2b284c24c8cb9a Mon Sep 17 00:00:00 2001
+From: Sanel Zukan <karijes@users.sourceforge.net>
+Date: Sun, 23 Dec 2018 00:04:34 +0100
+Subject: [PATCH] Make sure INT_MAX32 is visible.
+
+---
+ src/thd_trip_point.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/thd_trip_point.h b/src/thd_trip_point.h
+index 0eedc95..89eb083 100644
+--- a/src/thd_trip_point.h
++++ b/src/thd_trip_point.h
+@@ -29,6 +29,10 @@
+ #include "thd_sys_fs.h"
+ #include "thd_preference.h"
+ #include "thd_cdev.h"
++
++#define __STDC_LIMIT_MACROS
++#include <stdint.h>
++
+ #include <time.h>
+ #include <vector>
+ #include <algorithm> // std::sort
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cf04c06541..b1809c6d9a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -600,7 +600,9 @@ for clients and servers.")
(build-system python-build-system)
(arguments
;; Python 3 support is in `python3-openid`, a separate package.
- `(#:python ,python-2))
+ `(#:python ,python-2
+ ;; Tests aren't initialized correctly.
+ #:tests? #f))
(home-page "https://github.com/openid/python-openid")
(synopsis "OpenID support for servers and consumers")
(description "This library provides OpenID authentication for Python, both
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0a5b24e79d..445020ad35 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2802,14 +2802,14 @@ and is very extensible.")
(define-public python-cython
(package
(name "python-cython")
- (version "0.29.5")
+ (version "0.29.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
(base32
- "1wfb68g115gmf3mv23w0hh972b0ll85gpb92ci28x6h997br0llx"))))
+ "1bp7cn0pp5qy63k9hbp4ka34fm01kvysh478phpkhr68npqk6pbc"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
@@ -2841,9 +2841,6 @@ and is very extensible.")
(replace 'check
(lambda _
- ;; The "with_outer_raising" test fails with Python 3.7. See
- ;; https://github.com/cython/cython/issues/2454
- (delete-file "tests/run/generators_py.py")
(invoke "python" "runtests.py" "-vv"))))))
(home-page "http://cython.org/")
(synopsis "C extensions for Python")
@@ -3262,13 +3259,13 @@ library, libgit2 implements Git plumbing.")
(define-public python-pyparsing
(package
(name "python-pyparsing")
- (version "2.2.1")
+ (version "2.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyparsing" version))
(sha256
- (base32 "06dgd0iilvf8m0ssmfpcbh8l6jf0zkp8adbb84llksg17crfx4zl"))))
+ (base32 "0yk6xl885b91dmlhlsap7x78hk2rdr879fln9anbq6k4ca42djb6"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(arguments
@@ -3537,9 +3534,24 @@ toolkits.")
("python-sphinx-gallery" ,python-sphinx-gallery)
("python-numpydoc" ,python-numpydoc)
("python-ipython" ,python-ipython)
+ ("python-ipykernel" ,python-ipykernel)
("python-mock" ,python-mock)
("graphviz" ,graphviz)
- ("texlive" ,texlive)
+ ("texlive" ,(texlive-union (list texlive-latex-amsfonts
+ texlive-latex-amsmath
+ texlive-latex-enumitem
+ texlive-latex-expdlist
+ texlive-latex-geometry
+ texlive-latex-preview
+ texlive-latex-type1cm
+ texlive-latex-ucs
+
+ texlive-generic-pdftex
+
+ texlive-fonts-amsfonts
+ texlive-fonts-ec
+ texlive-fonts-adobe-times
+ texlive-fonts-txfonts)))
("texinfo" ,texinfo)
,@(package-native-inputs python-matplotlib)))
(arguments
@@ -3549,15 +3561,24 @@ toolkits.")
(replace 'build
(lambda _
(chdir "doc")
- ;; Produce pdf in 'A4' format.
+ (setenv "PYTHONPATH"
+ (string-append (getenv "PYTHONPATH")
+ ":" (getcwd) "/../examples/units"))
(substitute* "conf.py"
- (("latex_paper_size = 'letter'") "")
- ;; latex_paper_size is deprecated -> set paper size using
- ;; latex_elements
- (("latex_elements\\['pointsize'\\] = '11pt'" match)
- ;; insert at a point where latex_elements{} is defined:
- (string-append match "\nlatex_elements['papersize'] = 'a4paper'")))
- (invoke "make" "SPHINXBUILD=sphinx-build" "html" "latex" "texinfo")))
+ ;; Don't use git.
+ (("^SHA = check_output.*")
+ (string-append "SHA = \"" ,version "\"\n"))
+ ;; Don't fetch intersphinx files from the Internet
+ (("^explicit_order_folders" m)
+ (string-append "intersphinx_mapping = {}\n" m))
+ (("'sphinx.ext.intersphinx',") "")
+ ;; Disable URL embedding which requires internet access.
+ (("'https://docs.scipy.org/doc/numpy'") "None")
+ (("'https://docs.scipy.org/doc/scipy/reference'") "None"))
+ (invoke "make"
+ "SPHINXBUILD=sphinx-build"
+ "SPHINXOPTS=" ; don't abort on warnings
+ "html" "texinfo")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "out") "/share"))
@@ -3575,12 +3596,9 @@ toolkits.")
(string-append "@image{matplotlib-figures/" file)))
(symlink (string-append html "/_images")
"./matplotlib-figures")
- (system* "makeinfo" "--no-split"
- "-o" "matplotlib.info" "matplotlib.texi"))
- (copy-file "build/texinfo/matplotlib.info"
- (string-append info "/matplotlib.info"))
- (copy-file "build/latex/Matplotlib.pdf"
- (string-append doc "/Matplotlib.pdf")))
+ (invoke "makeinfo" "--no-split"
+ "-o" "matplotlib.info" "matplotlib.texi"))
+ (install-file "build/texinfo/matplotlib.info" info))
#t)))))
(home-page (package-home-page python-matplotlib))
(synopsis "Documentation for the python-matplotlib package")
@@ -14643,14 +14661,14 @@ append on old values. Partd excels at shuffling operations.")
(define-public python-dask
(package
(name "python-dask")
- (version "1.0.0")
+ (version "1.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dask" version))
(sha256
(base32
- "1xwz8h020ipwav2p5gcq9pskya1cvzd6hjyvd06dvr3w5lxlmym1"))))
+ "03ykmq46q2hh7mn68vcxkgylybjaj3r0kfspaiymdmqmjzpjivr5"))))
(build-system python-build-system)
;; A single test out of 5000+ fails. This test is marked as xfail when
;; pytest-xdist is used.
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 2d7ccceff7..754539f546 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -413,6 +413,34 @@ application bootup, plugins, generators, and Rake tasks.")
"https://github.com/rails/sprockets-rails")
(license license:expat)))
+(define-public ruby-with-advisory-lock
+ (package
+ (name "ruby-with-advisory-lock")
+ (version "4.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "with_advisory_lock" version))
+ (sha256
+ (base32
+ "1k37hxgmaqgsd54gplm5xim9nw3ghvqsbzaw7q4q64ha1nbd9a41"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; TODO Tests require a running MySQL service
+ (propagated-inputs
+ `(("ruby-activerecord" ,ruby-activerecord)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-mysql2" ,ruby-mysql2)))
+ (synopsis "Advisory locking for ActiveRecord")
+ (description
+ "The With advisory lock gem adds advisory locking to ActiveRecord for
+PostgreSQL and MySQL. SQLite is also supported, but this uses the filesystem
+for locks.")
+ (home-page "https://closuretree.github.io/with_advisory_lock/")
+ (license license:expat)))
+
(define-public ruby-rails
(package
(name "ruby-rails")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6da7109d14..53df4cf9fc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;;
@@ -34,6 +35,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages rails)
@@ -645,13 +647,13 @@ expectations and mocks frameworks.")
(define-public bundler
(package
(name "bundler")
- (version "1.15.4")
+ (version "1.17.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bundler" version))
(sha256
(base32
- "0wl4r7wbwdq68xidfv4hhzfb1spb6lmhbspwlzrg4pf1l6ipxlgs"))))
+ "0ln3gnk7cls81gwsbxvrmlidsfd78s6b2hzlm4d4a9wbaidzfjxw"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
@@ -1172,6 +1174,133 @@ complexity.")
(home-page "https://github.com/ThoughtWorksStudios/saikuro_treemap")
(license license:expat)))
+(define-public ruby-oauth2
+ (package
+ (name "ruby-oauth2")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "oauth2" version))
+ (sha256
+ (base32
+ "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (propagated-inputs
+ `(("ruby-faraday" ,ruby-faraday)
+ ("ruby-jwt" ,ruby-jwt)
+ ("ruby-multi-json" ,ruby-multi-json)
+ ("ruby-multi-xml" ,ruby-multi-xml)
+ ("ruby-rack" ,ruby-rack)))
+ (synopsis "Ruby wrapper for the OAuth 2.0")
+ (description
+ "This package provides a Ruby wrapper for the OAuth 2.0 protocol built
+with a similar style to the original OAuth spec.")
+ (home-page "https://github.com/oauth-xx/oauth2")
+ (license license:expat)))
+
+(define-public ruby-omniauth
+ (package
+ (name "ruby-omniauth")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "omniauth" version))
+ (sha256
+ (base32
+ "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (propagated-inputs
+ `(("ruby-hashie" ,ruby-hashie)
+ ("ruby-rack" ,ruby-rack)))
+ (synopsis "Generalized Rack framework for multiple-provider authentication")
+ (description
+ "This package provides a generalized Rack framework for multiple-provider
+authentication.")
+ (home-page "https://github.com/omniauth/omniauth")
+ (license license:expat)))
+
+(define-public ruby-omniauth-oauth2
+ (package
+ (name "ruby-omniauth-oauth2")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "omniauth-oauth2" version))
+ (sha256
+ (base32
+ "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-unnecessary-dependencies
+ (lambda _
+ ;; The coveralls gem submits coverage information to an online
+ ;; service, and is unnecessary when running the tests
+ (substitute* "Gemfile"
+ ((".*coveralls\"") ""))
+ (substitute* "spec/helper.rb"
+ (("require \"coveralls\"") "")
+ (("Coveralls::SimpleCov::Formatter") ""))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-oauth2" ,ruby-oauth2)
+ ("ruby-omniauth" ,ruby-omniauth)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-simplecov" ,ruby-simplecov)
+ ("ruby-rack-test" ,ruby-rack-test)
+ ("ruby-webmock" ,ruby-webmock-2)))
+ (synopsis "Abstract OAuth2 strategy for OmniAuth")
+ (description
+ "This library provides a generic OAuth2 strategy for OmniAuth. It
+doesn't provide a way to gather user information, so should be used as a
+building block for authentication strategies.")
+ (home-page "https://github.com/omniauth/omniauth-oauth2")
+ (license license:expat)))
+
+(define-public ruby-open4
+ (package
+ (name "ruby-open4")
+ (version "1.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "open4" version))
+ (sha256
+ (base32
+ "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "rakefile"
+ ;; Update the Rakefile so it works
+ (("-rubygems") "-rrubygems")
+ (("Config") "RbConfig"))
+ #t))
+ (add-before 'check 'set-LIB
+ (lambda _
+ ;; This is used in the rakefile when running the tests
+ (setenv "LIB" "open4")
+ #t)))))
+ (synopsis "Open child processes from Ruby and manage them easily")
+ (description
+ "@code{Open4} is a Ruby library to run child processes and manage their
+input and output.")
+ (home-page "https://github.com/ahoward/open4")
+ (license license:ruby)))
+
(define-public ruby-options
(package
(name "ruby-options")
@@ -1291,6 +1420,31 @@ the GNOME Libxml2 XML toolkit.")
(home-page "https://xml4r.github.com/libxml-ruby")
(license license:expat)))
+(define-public ruby-lino
+ (package
+ (name "ruby-lino")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "lino" version))
+ (sha256
+ (base32
+ "11d29g0fk372b9fcpyr0k6hxm2b4j4igpysmi542hgbbgqgp9cd3"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (propagated-inputs
+ `(("ruby-hamster" ,ruby-hamster)
+ ("ruby-open4" ,ruby-open4)))
+ (synopsis "Build and execute commands in Ruby")
+ (description
+ "@code{Lino} provides an interface to run external commands. It provides
+an interface to add options as well as managing the standard input, output and
+error streams.")
+ (home-page "https://github.com/tobyclemson/lino")
+ (license license:expat)))
+
(define-public ruby-xml-simple
(package
(name "ruby-xml-simple")
@@ -1353,6 +1507,63 @@ same log file.")
(home-page "https://github.com/bdurand/lumberjack")
(license license:expat)))
+(define-public ruby-rbnacl
+ (package
+ (name "ruby-rbnacl")
+ (version "6.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rbnacl" version))
+ (sha256
+ (base32
+ "0ajxy5kj2jw09wdsla3jmha8w07vj5l14288xr9djpl327g3lzhn"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-unnecessary-dependencies
+ (lambda _
+ ;; Coveralls relates to a network service, and Rubocop to code
+ ;; linting and both are unnecessary to run the tests
+ (substitute* "Gemfile"
+ ((".*rubocop.*") "\n")
+ ((".*guard-rspec.*") "\n")
+ ((".*coveralls.*") "\n"))
+ (substitute* "spec/spec_helper.rb"
+ (("require \"coveralls\"") "")
+ (("Coveralls.wear!") ""))
+ #t))
+ (add-after 'unpack 'use-libsodium-from-store
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("lib/rbnacl/init.rb"
+ "lib/rbnacl/sodium.rb")
+ (("ffi_lib \\[.+\\]")
+ (string-append "ffi_lib [\""
+ (assoc-ref inputs "libsodium") "/lib/libsodium.so"
+ "\"]")))
+ #t))
+ ;; Run Rspec directly to avoid the Rubocop dependency in the Rakefile
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-ffi" ,ruby-ffi)))
+ (inputs
+ `(("libsodium" ,libsodium)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Ruby FFI binding to libsodium")
+ (description
+ "This package provides Ruby FFI bindings to the Networking and
+Cryptography (NaCl) library, also known as libsodium. This provides a
+high-level toolkit for building cryptographic systems and protocols.")
+ (home-page "https://github.com/crypto-rb/rbnacl")
+ (license license:expat)))
+
(define-public ruby-nenv
(package
(name "ruby-nenv")
@@ -1527,6 +1738,79 @@ failure.")
(home-page "https://github.com/thekompanee/fuubar")
(license license:expat)))
+(define-public ruby-haml
+ (package
+ (name "ruby-haml")
+ (version "5.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "haml" version))
+ (sha256
+ (base32
+ "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (propagated-inputs
+ `(("ruby-tilt" ,ruby-tilt)
+ ("ruby-temple" ,ruby-temple)))
+ (synopsis "Haml is a Ruby library to generate HTML documents")
+ (description
+ "@acronym{Haml, HTML Abstraction Markup Language} is a layer on top of
+HTML or XML that is designed to express the structure of documents using
+indentation rather than closing tags. It was originally envisioned as a
+plugin for Ruby on Rails, but it can function as a stand-alone templating
+engine.")
+ (home-page "http://haml.info/")
+ (license license:expat)))
+
+(define-public ruby-hamster
+ (package
+ (name "ruby-hamster")
+ (version "3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "hamster" version))
+ (sha256
+ (base32
+ "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-unnecessary-dependencies
+ (lambda _
+ ;; pry is a debugging tool, and is unnecessary when running the
+ ;; tests
+ (substitute* "spec/lib/hamster/vector/insert_spec.rb"
+ (("require 'pry'") ""))
+ (substitute* "spec/spec_helper.rb"
+ (("require \"pry\"") "")
+ ;; CodeClimate is an online service, and is unnecessary for
+ ;; running the tests
+ (("require \"codeclimate-test-reporter\"") "")
+ (("CodeClimate.*\n") ""))
+ #t))
+ ;; No Rakefile is included, so run rspec directly.
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-concurrent" ,ruby-concurrent)))
+ (native-inputs
+ `(("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Efficient, immutable, thread-safe collection classes for Ruby")
+ (description
+ "Hamster provides 6 persistent data structures: @code{Hash}, @code{Vector},
+@code{Set}, @code{SortedSet}, @code{List}, and @code{Deque} (which works as an
+immutable queue or stack).")
+ (home-page "https://github.com/hamstergem/hamster")
+ (license license:expat)))
+
(define-public ruby-hashdiff
(package
(name "ruby-hashdiff")
@@ -1913,6 +2197,29 @@ localization.")
(home-page "https://github.com/ruby-gettext/locale")
(license (list license:lgpl3+ license:ruby))))
+(define-public ruby-temple
+ (package
+ (name "ruby-temple")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "temple" version))
+ (sha256
+ (base32
+ "158d7ygbwcifqnvrph219p7m78yjdjazhykv5darbkms7bxm5y09"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-tilt" ,ruby-tilt)
+ ("ruby-bacon" ,ruby-bacon)
+ ("ruby-erubis" ,ruby-erubis)))
+ (synopsis "Template compilation framework in Ruby")
+ (description
+ "Temple is an abstraction and framework for compiling templates to pure
+Ruby.")
+ (home-page "https://github.com/judofyr/temple")
+ (license license:expat)))
+
(define-public ruby-text
(package
(name "ruby-text")
@@ -1985,6 +2292,29 @@ use GNU gettext tools for maintenance.")
(home-page "http://ranguba.org/packnga/")
(license license:lgpl2.0+)))
+(define-public ruby-test-construct
+ (package
+ (name "ruby-test-construct")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "test_construct" version))
+ (sha256
+ (base32
+ "1a2ym3l068d0pxzzr95kvqx87zpdsarxslz9ygd4qfm9frrz0kgj"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-mocha" ,ruby-mocha)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Creates temporary files and directories for testing")
+ (description
+ "TestConstruct is a @acronym{DSL, Domain Specific Language} for creating
+temporary files and directories during tests.")
+ (home-page "https://github.com/bhb/test_construct")
+ (license license:expat)))
+
(define-public ruby-test-unit
(package
(name "ruby-test-unit")
@@ -2010,6 +2340,43 @@ It allows writing tests, checking results and automated testing in Ruby.")
(home-page "https://test-unit.github.io/")
(license (list license:psfl license:ruby))))
+(define-public ruby-markaby
+ (package
+ (name "ruby-markaby")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "markaby" version))
+ (sha256
+ (base32
+ "1j4jc31ycydbkh5h3q6zwidzpavg3g5mbb5lqyaczd3jrq78rd7i"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; Run rspec manually without using the Rakefile, as the versions of
+ ;; Rake and RSpec 2 are incompatible:
+ ;;
+ ;; NoMethodError: undefined method `last_comment'
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-builder" ,ruby-builder)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)))
+ (synopsis "Write HTML pages in pure Ruby")
+ (description
+ "Markaby allows writing HTML packages in pure Ruby. This is similar to
+the functionality provided by @acronym{ERB, Embeded Ruby}, but without the
+mixture of HTML and additional ERB syntax.")
+ (home-page "http://markaby.github.io/")
+ (license license:expat)))
+
(define-public ruby-maruku
(package
(name "ruby-maruku")
@@ -2562,6 +2929,40 @@ facilities supporting TDD, BDD, mocking, and benchmarking.")
(delete-file "test/minitest/test_minitest_spec.rb")
#t)))))))
+(define-public ruby-minitest-around
+ (package
+ (name "ruby-minitest-around")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "minitest-around" version))
+ (sha256
+ (base32
+ "15ywnqx0719jl9c25yqfshmwcir57i5f4hr1ra9v9vay9ylcwndr"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'extract-gemspec 'remove-unnecessary-dependency-versions
+ (lambda _
+ (substitute* "minitest-around.gemspec"
+ (("%q<cucumber>.*") "%q<cucumber>, [\">= 0\"])\n"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-minitest" ,ruby-minitest)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-cucumber" ,ruby-cucumber)
+ ("ruby-bump" ,ruby-bump)
+ ("ruby-test-construct" ,ruby-test-construct)))
+ (synopsis "Run code around tests in Minitest")
+ (description
+ "This library provides a way to run code around tests in Minitest,
+written using either the unit test or spec style.")
+ (home-page "https://github.com/splattael/minitest-around")
+ (license license:expat)))
+
(define-public ruby-minitest-sprint
(package
(name "ruby-minitest-sprint")
@@ -2934,6 +3335,27 @@ options and parsing command line flags.")
(base32
"00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"))))))
+(define-public ruby-multi-xml
+ (package
+ (name "ruby-multi-xml")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "multi_xml" version))
+ (sha256
+ (base32
+ "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (synopsis "Swappable XML backends for Ruby")
+ (description
+ "@code{MultiXml} provides swappable XML backends utilizing either LibXML,
+Nokogiri, Ox, or REXML.")
+ (home-page "https://github.com/sferik/multi_xml")
+ (license license:expat)))
+
(define-public ruby-multipart-post
(package
(name "ruby-multipart-post")
@@ -3398,6 +3820,52 @@ file or directories are modified.")
(home-page "http://guardgem.org/")
(license license:expat)))
+(define-public ruby-tilt
+ (package
+ (name "ruby-tilt")
+ (version "2.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "tilt" version))
+ (sha256
+ (base32
+ "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-some-dependencies
+ (lambda _
+ (substitute* "Gemfile"
+ ;; TODO ronn is used for generating the manual
+ (("gem 'ronn'.*") "\n")
+ ;; ruby-haml has a runtime dependency on ruby-tilt, so don't
+ ;; pass it in as a native-input
+ (("gem 'haml'.*") "\n")
+ ;; TODO Not all of these gems are packaged for Guix yet:
+ ;; less, coffee-script, livescript, babel-transpiler,
+ ;; typescript-node
+ (("if can_execjs") "if false")
+ ;; Disable the secondary group to reduce the number of
+ ;; dependencies. None of the normal approaches work, so patch
+ ;; the Gemfile instead.
+ (("group :secondary") "[].each"))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-builder" ,ruby-builder)
+ ("ruby-erubis" ,ruby-erubis)
+ ("ruby-markaby" ,ruby-markaby)
+ ("ruby-sassc" ,ruby-sassc)))
+ (synopsis "Generic interface to multiple Ruby template engines")
+ (description
+ "Tilt is a thin interface over a number of different Ruby template
+engines in an attempt to make their usage as generic as possible.")
+ (home-page "https://github.com/rtomayko/tilt/")
+ (license license:expat)))
+
(define-public ruby-thread-safe
(package
(name "ruby-thread-safe")
@@ -3706,6 +4174,29 @@ of terminal output.")
;; There is no mention of the "or later" clause.
(license license:gpl2)))
+(define-public ruby-terraform
+ (package
+ (name "ruby-terraform")
+ (version "0.22.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ruby-terraform" version))
+ (sha256
+ (base32
+ "13zjkp71cd19j2ds2h9rqwcfr1zdg5nsh63p89l6qcsc9z39z324"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (propagated-inputs
+ `(("ruby-lino" ,ruby-lino)))
+ (synopsis "Ruby wrapper around the Terraform command line interface")
+ (description
+ "This package provides a Ruby wrapper around the Terraform command line
+interface so that Terraform can be more easily invoked from Ruby code.")
+ (home-page "https://github.com/infrablocks/ruby_terraform")
+ (license license:expat)))
+
(define-public ruby-pstree
(package
(name "ruby-pstree")
@@ -3843,6 +4334,44 @@ a native C extension.")
(home-page "https://flori.github.com/json")
(license license:ruby)))
+(define-public ruby-jwt
+ (package
+ (name "ruby-jwt")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "jwt" version))
+ (sha256
+ (base32
+ "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-unnecessary-dependencies
+ (lambda _
+ (substitute* "spec/spec_helper.rb"
+ (("require 'simplecov.*") "\n")
+ ;; Use [].each to disable running the SimpleCov configuration
+ ;; block
+ (("SimpleCov\\.configure") "[].each")
+ (("require 'codeclimate-test-reporter'") "")
+ (("require 'codacy-coverage'") "")
+ (("Codacy::Reporter\\.start") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rbnacl" ,ruby-rbnacl)))
+ (synopsis "Ruby implementation of the JSON Web Token standard")
+ (description
+ "This package provides a pure Ruby implementation of the RFC 7519 OAuth
+@acronym{JWT, JSON Web Token} standard.")
+ (home-page "https://github.com/jwt/ruby-jwt")
+ (license license:expat)))
+
;; Even though this package only provides bindings for a Mac OSX API it is
;; required by "ruby-listen" at runtime.
(define-public ruby-rb-fsevent
@@ -5518,6 +6047,77 @@ support to both Ruby and JRuby. It uses @code{unf_ext} on CRuby and
(home-page "https://github.com/knu/ruby-unf")
(license license:bsd-2)))
+(define-public ruby-warden
+ (package
+ (name "ruby-warden")
+ (version "1.2.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "warden" version))
+ (sha256
+ (base32
+ "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (propagated-inputs
+ `(("ruby-rack" ,ruby-rack)))
+ (synopsis "Rack middleware providing authentication")
+ (description
+ "Warden is a Rack-based middleware that provides a mechanism for
+authentication in Ruby web applications.")
+ (home-page "https://github.com/wardencommunity/warden")
+ (license license:expat)))
+
+(define-public ruby-warden-oauth2
+ (package
+ (name "ruby-warden-oauth2")
+ (version "0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "warden-oauth2" version))
+ (sha256
+ (base32
+ "1z9154lvzrnnfjbjkmirh4n811nygp6pm2fa6ikr7y1ysa4zv3cz"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-unnecessary-dependencies
+ (lambda _
+ (substitute* "Gemfile"
+ ;; All of these gems relate to development, and are unnecessary
+ ;; when running the tests
+ (("gem 'guard-bundler'") "")
+ (("gem 'guard'") "")
+ (("gem 'guard-rspec'") "")
+ (("gem 'rb-fsevent'") "")
+ (("gem 'pry'") "")
+ (("gem 'growl'") ""))
+ #t))
+ ;; The test suite doesn't work with rspec@2, and this is incompatible
+ ;; with the current version of Rake, so invoke Rspec directly
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "bundle" "exec" "rspec"))
+ #t)))))
+ (propagated-inputs
+ `(("ruby-warden" ,ruby-warden)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec-2)
+ ("ruby-rack-test" ,ruby-rack-test)))
+ (synopsis "OAuth 2.0 strategies for Warden")
+ (description
+ "This library extends Warden to support OAuth 2.0 authorized API
+requests.")
+ (home-page "https://github.com/opperator/warden-oauth2")
+ (license license:expat)))
+
(define-public ruby-webmock-2
(package
(name "ruby-webmock")
@@ -5985,6 +6585,27 @@ requirement specifications systems like Cucumber.")
(home-page "https://rubyworks.github.io/qed")
(license license:bsd-2)))
+(define-public ruby-que
+ (package
+ (name "ruby-que")
+ (version "1.0.0.beta3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "que" version))
+ (sha256
+ (base32
+ "0gr9pb814d4qj3ds98g6cjrdk7wv0yg8aqbm7c1lmgl87jkg8q04"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:tests? #f)) ; No included tests
+ (synopsis "Job queue using PostgreSQL written in Ruby")
+ (description
+ "This package provides a job queue that uses PostgreSQL for storing jobs
+and locking between worker processes.")
+ (home-page "https://github.com/chanks/que")
+ (license license:expat)))
+
(define-public ruby-ae
(package
(name "ruby-ae")
@@ -6927,6 +7548,81 @@ the @file{spec} directory.")
features that don't exist yet like variables, nesting, mixins and inheritance.")
(license license:expat)))
+(define-public ruby-sassc
+ (package
+ (name "ruby-sassc")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sassc" version))
+ (sha256
+ (base32
+ "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; TODO: This would be better as a snippet, but the ruby-build-system
+ ;; doesn't seem to support that
+ (add-after 'unpack 'remove-libsass
+ (lambda _
+ (delete-file-recursively "ext")
+ #t))
+ (add-after 'unpack 'dont-check-the-libsass-version
+ (lambda _
+ (substitute* "test/native_test.rb"
+ (("assert_equal.*Native\\.version") ""))
+ #t))
+ (add-after 'unpack 'remove-git-from-gemspec
+ (lambda _
+ (substitute* "sassc.gemspec"
+ (("`git ls-files -z`") "`find . -type f -print0 |sort -z`")
+ (("`git submodule --quiet foreach pwd`") "''"))
+ #t))
+ (add-after 'unpack 'remove-extensions-from-gemspec
+ (lambda _
+ (substitute* "sassc.gemspec"
+ (("\\[\"ext/Rakefile\"\\]") "[]"))
+ #t))
+ (add-after 'unpack 'fix-Rakefile
+ (lambda _
+ (substitute* "Rakefile"
+ (("test: 'libsass:compile'") ":test"))
+ #t))
+ (add-after 'unpack 'remove-unnecessary-dependencies
+ (lambda _
+ (substitute* "test/test_helper.rb"
+ (("require \"pry\"") ""))
+ #t))
+ (add-before 'build 'patch-native.rb
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib/sassc/native.rb"
+ ((".*gem_root = spec.gem_dir") "")
+ (("ffi_lib .*\n")
+ (string-append
+ "ffi_lib '" (assoc-ref inputs "libsass") "/lib/libsass.so'")))
+ #t))
+ ;; The gemspec still references the libsass files, so just keep the
+ ;; one in the gem.
+ (delete 'extract-gemspec))))
+ (propagated-inputs
+ `(("ruby-ffi" ,ruby-ffi)
+ ("ruby-rake" ,ruby-rake)))
+ (inputs
+ `(("libsass" ,libsass)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-minitest-around" ,ruby-minitest-around)
+ ("ruby-test-construct" ,ruby-test-construct)))
+ (synopsis "Use libsss from Ruby")
+ (description
+ "This library provides Ruby q@acronym{FFI, Foreign Function Interface}
+bindings to the libsass library. This enables rendering
+@acronym{SASS,Syntactically awesome style sheets} from Ruby code.")
+ (home-page "https://github.com/sass/sassc-ruby")
+ (license license:expat)))
+
(define-public ruby-jekyll-sass-converter
(package
(name "ruby-jekyll-sass-converter")
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 5ddc8748f3..d90d12e665 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -33,6 +33,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
+ #:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cups)
@@ -240,14 +241,14 @@ Desktops into Active Directory environments using the winbind daemon.")
(define-public talloc
(package
(name "talloc")
- (version "2.1.14")
+ (version "2.1.16")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/talloc/talloc-"
version ".tar.gz"))
(sha256
(base32
- "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di"))))
+ "1aajda08yf7njgvg6r21ccxlvkarb9bwvf4jqh8yn3871a1zcnqr"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -260,8 +261,10 @@ Desktops into Active Directory environments using the winbind daemon.")
(let ((out (assoc-ref outputs "out")))
(invoke "./configure"
(string-append "--prefix=" out))))))))
+ (native-inputs
+ `(("which" ,which)))
(inputs
- `(("python" ,python-2)))
+ `(("python" ,python)))
(home-page "https://talloc.samba.org")
(synopsis "Hierarchical, reference counted memory pool system")
(description
@@ -288,7 +291,8 @@ destructors. It is the core memory allocator used in Samba.")
(replace 'build
(lambda _
(invoke "gcc" "-c" "-Ibin/default" "-I" "lib/replace"
- "-I." "-Wall" "-g" "talloc.c")
+ "-I." "-Wall" "-g" "-D__STDC_WANT_LIB_EXT1__=1"
+ "talloc.c")
(invoke "ar" "rc" "libtalloc.a" "talloc.o")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@@ -304,14 +308,14 @@ destructors. It is the core memory allocator used in Samba.")
(define-public tevent
(package
(name "tevent")
- (version "0.9.37")
+ (version "0.9.39")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/tevent/tevent-"
version ".tar.gz"))
(sha256
(base32
- "1q77vbjic2bb79li2a54ffscnrnwwww55fbpry2kgh7acpnlb0qn"))))
+ "1rnln76ngd2b8lgqvfa9iscy6jizwycj85nfp9zd46b1c760z3gn"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -325,7 +329,8 @@ destructors. It is the core memory allocator used in Samba.")
"--bundled-libraries=NONE")))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("python" ,python-2)))
+ ("python" ,python)
+ ("which" ,which)))
(propagated-inputs
`(("talloc" ,talloc))) ; required by tevent.pc
(synopsis "Event system library")
@@ -339,14 +344,14 @@ many event types, including timers, signals, and the classic file descriptor eve
(define-public ldb
(package
(name "ldb")
- (version "1.4.3")
+ (version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
version ".tar.gz"))
(sha256
(base32
- "07vacwr941y2x31yl9knsr2rpffz5pqabvqds6sbyngqxy4r785c"))
+ "1kiwlra6nfkb5n870k2db41jrm59bq9lxqmil4v7ignblgsdfdwb"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -376,7 +381,8 @@ many event types, including timers, signals, and the classic file descriptor eve
(native-inputs
`(("cmocka" ,cmocka)
("pkg-config" ,pkg-config)
- ("python" ,python-2)))
+ ("python" ,python)
+ ("which" ,which)))
(propagated-inputs
;; ldb.pc refers to all these.
`(("talloc" ,talloc)
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 7c7b7e7350..8d2a024378 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2017 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
@@ -117,7 +117,8 @@ joystick, and graphics hardware.")
(arguments
(substitute-keyword-arguments (package-arguments sdl)
((#:configure-flags flags)
- `(append '("--disable-wayland-shared")
+ `(append '("--disable-wayland-shared" "--enable-video-kmsdrm"
+ "--disable-kmsdrm-shared")
,flags))))
(inputs
;; SDL2 needs to be built with ibus support otherwise some systems
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 37a2c60f54..7c682297f9 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -901,13 +901,17 @@ Computers & Typesetting series.")
(string-append (getcwd) ":"
mf "/share/texmf-dist/metafont/base")))
(mkdir "build")
- (invoke "mf" "-progname=mf"
- "-output-directory=build"
- (string-append "\\"
- "mode:=ljfour; "
- "mag:=1; "
- "batchmode; "
- "input manfnt"))))
+ (for-each (lambda (font)
+ (format #t "building font ~a\n" font)
+ (invoke "mf" "-progname=mf"
+ "-output-directory=build"
+ (string-append "\\"
+ "mode:=ljfour; "
+ "mag:=1; "
+ "batchmode; "
+ "input " font)))
+ (find-files "." "(manfnt|logo.+)\\.mf$"))
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1006,6 +1010,98 @@ class), line and circle fonts (for use in the picture environment) and LaTeX
symbol fonts.")
(license license:lppl1.2+)))
+(define-public texlive-latex-mflogo
+ (package
+ (name "texlive-latex-mflogo")
+ (version (number->string %texlive-revision))
+ (source
+ (origin
+ (method svn-fetch)
+ (uri (texlive-ref "latex" "mflogo"))
+ (sha256
+ (base32
+ "15i2ib6nvhf31g1b92c6njf7n0g29znlq7hbfp9ii7qabhcwwvrj"))))
+ (build-system texlive-build-system)
+ (arguments '(#:tex-directory "latex/mflogo"))
+ (home-page "http://www.ctan.org/pkg/mflogo")
+ (synopsis "LaTeX support for Metafont logo fonts")
+ (description
+ "This package provides LaTeX and font definition files to access the
+Knuthian mflogo fonts described in The Metafontbook and to typeset Metafont
+logos in LaTeX documents.")
+ (license license:lppl)))
+
+(define-public texlive-fonts-mflogo-font
+ (package
+ (name "texlive-fonts-mflogo-font")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/hoekwater/mflogo-font"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "09fsxfpiyxjljkrb52b197728bjnkcnv3bdwm4hl6hf23mbmqadf"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let ((root (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/"))
+ (pkgs '(("source" . "fonts/type1/hoekwater/mflogo-font")
+ ("afm" . "fonts/afm/hoekwater/mflogo-font")
+ ("fonts-map" . "fonts/map/dvips/mflogo-font"))))
+ (for-each (match-lambda
+ ((pkg . dir)
+ (let ((target (string-append root dir)))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs pkg)
+ target))))
+ pkgs)
+ #t))))
+ (native-inputs
+ `(("afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/hoekwater/mflogo-font"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "0bx1mfhhzsk9gj1pha36q2rk0jd0y285qm62zgvdvzzzlfnk8sdb"))))
+ ("fonts-map"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/map/dvips/mflogo-font/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-fonts-map-" version "-checkout"))
+ (sha256
+ (base32
+ "044xrrpl8hnvj55cx2ql1ib1bcyr33nzanx5nkwxpai7fb7pg4y6"))))))
+ (home-page "https://www.ctan.org/pkg/mflogo-font")
+ (synopsis "Metafont logo font")
+ (description
+ "These fonts were created in METAFONT by Knuth, for his own publications.
+At some stage, the letters P and S were added, so that the METAPOST logo could
+also be expressed. The fonts were originally issued (of course) as METAFONT
+source; they have since been autotraced and reissued in Adobe Type 1 format by
+Taco Hoekwater.")
+ (license license:knuth)))
+
(define-public texlive-fonts-amsfonts
(package
(name "texlive-fonts-amsfonts")
@@ -3110,6 +3206,8 @@ BibLaTeX, and is considered experimental.")
"0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "latex/geometry"))
+ (propagated-inputs
+ `(("texlive-latex-oberdiek" ,texlive-latex-oberdiek))) ;for ifpdf
(home-page "https://www.ctan.org/pkg/geometry")
(synopsis "Flexible and complete interface to document dimensions")
(description
@@ -3649,6 +3747,467 @@ differs from the EC in a number of particulars.")
(license (license:fsf-free "https://www.tug.org/svn/texlive/tags/\
texlive-2017.1/Master/texmf-dist/doc/fonts/ec/copyrite.txt"))))
+(define-public texlive-fonts-adobe-times
+ (package
+ (name "texlive-fonts-adobe-times")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/urw/times/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "15vzyr7favkv1mj00qxr03s89kw78nd066fh69by93272g8p5sgd"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let ((root (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/"))
+ (pkgs '(("source" . "fonts/type1/urw/times")
+
+ ("times-afm" . "fonts/afm/adobe/times")
+ ("times-tfm" . "fonts/tfm/adobe/times")
+ ("times-vf" . "fonts/vf/adobe/times")
+
+ ("urw-afm" . "fonts/afm/urw/times")
+ ("urw35vf-tfm" . "fonts/tfm/urw35vf/times")
+ ("urw35vf-vf" . "fonts/vf/urw35vf/times")
+
+ ("times-tex" . "tex/latex/times")
+ ("dvips" . "dvips/times")
+ ("fonts-map" . "fonts/map/dvips/times"))))
+ (for-each (match-lambda
+ ((pkg . dir)
+ (let ((target (string-append root dir)))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs pkg)
+ target))))
+ pkgs)
+ #t))))
+ (native-inputs
+ `(("times-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/adobe/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "1k7h6vihfc6ri2lq9ggnq2g4zq3qcgq1vd0hr486g9cqrdpys6cy"))))
+ ("times-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/adobe/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "1hbgkjnf5xyganbznwpwszvr3iyk4bzb0ys4hd8ybawp60paadrr"))))
+ ("times-vf"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/vf/adobe/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-vf-" version "-checkout"))
+ (sha256
+ (base32
+ "18rfspnwdw9r81dy18lb4w96d09b6c4g7y80azwylalkhwdf2lfp"))))
+ ("urw-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/urw/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "0g0xpsyn6634g0b4rpd420v7i4gkz3zr12vcy2b8csbcscjvwri5"))))
+ ("urw35vf-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/urw35vf/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw35vf-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "0a4idlvpaqd0ypqgy1xw0rpx8q23bvssg8xq757zzn3zikj0w7pr"))))
+ ("urw35vf-vf"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/vf/urw35vf/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw35vf-vf-" version "-checkout"))
+ (sha256
+ (base32
+ "05mppwxd4c5x0yw50gca726f0ylc1rk8jf0jjkrriixq6rnw03di"))))
+ ("times-tex"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/latex/times"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tex-" version "-checkout"))
+ (sha256
+ (base32
+ "1gmd0x7c3vkvfzgmrsp4866rcdbyimfk3bjr91zaadc41r1i8xrp"))))
+ ("dvips"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/dvips/times/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-dvips-" version "-checkout"))
+ (sha256
+ (base32
+ "1fvqpgqi7bp2q76nf5kmlhsdijxw65arqfy3ax3djwih3yg12mp0"))))
+ ("fonts-map"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/map/dvips/times/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-fonts-map-" version "-checkout"))
+ (sha256
+ (base32
+ "12f00gzs2zgllkm59qdhw2xxj7lvg3p256232f1l275z3pldfqqi"))))))
+ (home-page "https://ctan.org/pkg/urw-base35")
+ (synopsis "URW Base 35 font pack for LaTeX")
+ (description
+ "This package provides a drop-in replacements for the Times font from
+Adobe's basic set.")
+ ;; No license version specified.
+ (license license:gpl3+)))
+
+(define-public texlive-fonts-adobe-palatino
+ (package
+ (name "texlive-fonts-adobe-palatino")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/urw/palatino/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "18dw5260c6fy7acxaqwrg3hw04kg63ijq4lkn56q5pa2g6nyylrp"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let ((root (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/"))
+ (pkgs '(("source" . "fonts/type1/urw/palatino")
+
+ ("palatino-afm" . "fonts/afm/adobe/palatino")
+ ("palatino-tfm" . "fonts/tfm/adobe/palatino")
+ ("palatino-vf" . "fonts/vf/adobe/palatino")
+
+ ("urw-afm" . "fonts/afm/urw/palatino")
+ ("urw35vf-tfm" . "fonts/tfm/urw35vf/palatino")
+ ("urw35vf-vf" . "fonts/vf/urw35vf/palatino")
+
+ ("palatino-tex" . "tex/latex/palatino")
+ ("dvips" . "dvips/palatino")
+ ("fonts-map" . "fonts/map/dvips/palatino"))))
+ (for-each (match-lambda
+ ((pkg . dir)
+ (let ((target (string-append root dir)))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs pkg)
+ target))))
+ pkgs)
+ #t))))
+ (native-inputs
+ `(("palatino-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/adobe/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "0pxizay730cx7rb9y5bqq9dn1zxx3arc33rmdsn7l29pc51flmmi"))))
+ ("palatino-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/adobe/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "1w1vm0sk9kpsy14yhyf1v1q3c6b97cgbba74g578bcwjlh810mg0"))))
+ ("palatino-vf"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/vf/adobe/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-vf-" version "-checkout"))
+ (sha256
+ (base32
+ "1maqfis8hpybcn9lmm8r2b1g56620lfpsncg0742c3kkjd6dh97h"))))
+ ("urw-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/urw/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "0gk0xwy1fs2si5kb1j3dzgm52c8sagv32gd9dmw88m7sgh5qkd87"))))
+ ("urw35vf-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/urw35vf/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw35vf-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "19aq3xwfg7vkf1qzjdxgcvcdqwpvpavq3l25y64xni72qx0kmppz"))))
+ ("urw35vf-vf"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/vf/urw35vf/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw35vf-vf-" version "-checkout"))
+ (sha256
+ (base32
+ "1lkn4p6zimrs0ah6mxsang4bicp8j7xzl016529a3f168an7mdmj"))))
+ ("palatino-tex"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/latex/palatino"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tex-" version "-checkout"))
+ (sha256
+ (base32
+ "0ng9w7i0p1nb51amla32jj86vx6p84m6qc7asam3g4x8w5jf7s27"))))
+ ("dvips"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/dvips/palatino/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-dvips-" version "-checkout"))
+ (sha256
+ (base32
+ "1pdbkfmhx4kk3brh5lg6fyl9ad2kbjmkrhgcx84klnlhq01mfdhb"))))
+ ("fonts-map"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/map/dvips/palatino/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-fonts-map-" version "-checkout"))
+ (sha256
+ (base32
+ "0rg13hyp652hp3gnrj5pbyb84zkqmyi1qnm8c6spcyaq8pm06l0d"))))))
+ (home-page "https://ctan.org/pkg/urw-base35")
+ (synopsis "URW Base 35 font pack for LaTeX")
+ (description
+ "This package provides a drop-in replacements for the Palatino font from
+Adobe's basic set.")
+ ;; No license version specified.
+ (license license:gpl3+)))
+
+(define-public texlive-fonts-adobe-zapfding
+ (package
+ (name "texlive-fonts-adobe-zapfding")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/type1/urw/zapfding/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1sp3jblg3khp0yj121blvhph6ib09919kyrsk5x2lg258yypqyis"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (ice-9 match))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let ((root (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/"))
+ (pkgs '(("source" . "fonts/type1/urw/zapfding")
+ ("zapf-afm" . "fonts/afm/adobe/zapfding")
+ ("zapf-tfm" . "fonts/tfm/adobe/zapfding")
+ ("urw-afm" . "fonts/afm/urw/zapfding")
+ ("urw35vf-tfm" . "fonts/tfm/urw35vf/zapfding")
+
+ ("zapf-tex" . "tex/latex/zapfding")
+ ("dvips" . "dvips/zapfding")
+ ("fonts-map" . "fonts/map/dvips/zapfding"))))
+ (for-each (match-lambda
+ ((pkg . dir)
+ (let ((target (string-append root dir)))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs pkg)
+ target))))
+ pkgs)
+ #t))))
+ (native-inputs
+ `(("zapf-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/adobe/zapfding"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "0qvl4w1bfcpiakkd8rvkism46qnvzj9w7x4r8z9m0y7mspbkblyr"))))
+ ("zapf-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/adobe/zapfding"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "1i8mh9xsl8l4cgsg3nl4ha9q6m55j122riclaxsvkc5ka83432qm"))))
+ ("urw-afm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/afm/urw/zapfding"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw-afm-" version "-checkout"))
+ (sha256
+ (base32
+ "0m4qndqh7ji723ff82c5c1q8ziqvblbaip7vx05vnl15fqbsnfx1"))))
+ ("urw35vf-tfm"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/tfm/urw35vf/zapfding"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-urw35vf-tfm-" version "-checkout"))
+ (sha256
+ (base32
+ "167g2x6mpjfqh0w1fhjbw14qcx6ridrj2zm1bd8bi0l2d7phj28m"))))
+ ("zapf-tex"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/latex/zapfding"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-tex-" version "-checkout"))
+ (sha256
+ (base32
+ "0hp7i8f6nbrg7irrwc8fd7n1hrzjysa84d6iyivwlc65v9p7lmd0"))))
+ ("dvips"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/dvips/zapfding/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-dvips-" version "-checkout"))
+ (sha256
+ (base32
+ "1f18sc4qwxykd786zhn6szcrycqvpvfhlcim71aamxmwghakd7fa"))))
+ ("fonts-map"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/fonts/map/dvips/zapfding/"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-fonts-map-" version "-checkout"))
+ (sha256
+ (base32
+ "17kwxmdrgz2fb072hx57a3pidcrhbgayphx11zyld2hv9149pkyl"))))))
+ (home-page "https://ctan.org/pkg/urw-base35")
+ (synopsis "URW Base 35 font pack for LaTeX")
+ (description
+ "This package provides a drop-in replacements for the Zapfding font from
+Adobe's basic set.")
+ ;; No license version specified.
+ (license license:gpl3+)))
+
(define-public texlive-fonts-rsfs
(package
(name "texlive-fonts-rsfs")
@@ -4943,13 +5502,12 @@ PDF documents.")
develop documents with LaTeX, in a single application.")
(license license:gpl2+)))
-
(define-public teximpatient
(package
(name "teximpatient")
(version "2.4")
(source (origin
- (method url-fetch)
+ (method url-fetch/tarbomb)
(uri (string-append "mirror://gnu/" name "/" name "-"
version ".tar.gz"))
(sha256
@@ -4957,25 +5515,28 @@ develop documents with LaTeX, in a single application.")
"0h56w22d99dh4fgld4ssik8ggnmhmrrbnrn1lnxi1zr0miphn1sd"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:tests? #f ; there are none
+ #:phases
(modify-phases %standard-phases
- (delete 'check)
- ;; Unfortunately some mistakes have been made in packaging.
- ;; Work around them here ...
- (replace 'unpack
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((srcdir "teximpatient-2.4"))
- (system* "tar" "-xzf" (assoc-ref inputs "source")
- (string-append "--one-top-level=" srcdir))
- (delete-file (string-append srcdir "/book.pdf"))
- (install-file (car
- (find-files
- (assoc-ref inputs "automake")
- "^install-sh$"))
- srcdir)
- (chdir srcdir)))))))
+ (add-after 'unpack 'fix-packaging-error
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; This file should have been part of the tarball.
+ (install-file (car
+ (find-files
+ (assoc-ref inputs "automake")
+ "^install-sh$"))
+ ".")
+ ;; Remove generated file.
+ (delete-file "book.pdf")
+ #t)))))
(native-inputs
- `(("texlive" ,texlive)
+ `(("texlive" ,(texlive-union (list texlive-latex-amsfonts
+ texlive-fonts-amsfonts
+ texlive-fonts-adobe-palatino
+ texlive-fonts-adobe-zapfding
+ texlive-fonts-knuth-lib
+ texlive-fonts-mflogo-font
+ texlive-generic-pdftex)))
("automake" ,automake)))
(home-page "https://www.gnu.org/software/teximpatient/")
(synopsis "Book on TeX, plain TeX and Eplain")
@@ -4987,20 +5548,20 @@ and Karl Berry.")
(define-public lyx
(package
(name "lyx")
- (version "2.2.3")
+ (version "2.3.2-2")
(source (origin
- (method url-fetch)
- (uri (string-append "http://ftp.lyx.org/pub/lyx/stable/2.2.x/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "0xvaz0i371nn2ndinc0d3ywj76ivb62649a4sdgwbivisiahd2fj"))
- (patches (search-patches "lyx-2.2.3-fix-test.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file-recursively "3rdparty")
- #t))))
+ (method url-fetch)
+ (uri (string-append "http://ftp.lyx.org/pub/lyx/stable/"
+ (version-major+minor version) ".x/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vr0qwis6rhind6azfa270hqxci7rj8qb1kk5x6lm80mc34nvrqi"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "3rdparty")
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags `("-DLYX_USE_QT=QT5"
@@ -5010,56 +5571,68 @@ and Karl Berry.")
,(string-append "-DLYX_INSTALL_PREFIX="
(assoc-ref %outputs "out")
;; Exact name and level is necessary.
- "/lyx2.2"))
+ "/lyx" ,(version-major+minor version)))
#:phases
(modify-phases %standard-phases
+ ;; See ;; https://www.lyx.org/trac/changeset/3a123b90af838b08680471d87170c38e56787df9/lyxgit
+ (add-after 'unpack 'fix-compilation-with-boost-1.69
+ (lambda _
+ (substitute* "src/support/FileName.cpp"
+ (("^template struct boost::detail::crc_table_t.*") ""))
+ #t))
(add-after 'unpack 'patch-python
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("src/support/os.cpp")
- (("\"python ")
- (string-append "\""
- (assoc-ref inputs "python-2")
- "/bin/python ")))
- #t))
- (add-after 'patch-python 'patch-installer
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "CMakeLists.txt"
- (("/usr/local/man/man1")
- (string-append (assoc-ref outputs "out")
- "/share/man/man1")))
+ (("\"python ")
+ (string-append "\""
+ (assoc-ref inputs "python")
+ "/bin/python ")))
#t))
(add-after 'patch-python 'patch-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "lib/lyx.desktop.in"
- (("Exec=")
- (string-append "Exec="
- (assoc-ref outputs "out")
- "/")))
+ (("Exec=")
+ (string-append "Exec="
+ (assoc-ref outputs "out")
+ "/")))
#t))
(add-before 'check 'setenv-check
(lambda _
- (setenv "LYX_DIR_22x" (string-append (getcwd) "/../lyx-"
- ,version "/lib"))
+ ;; Create missing file that would cause tests to fail.
+ (with-output-to-file (string-append "../lyx-"
+ ,version
+ "/src/tests/check_layout.cmake")
+ (const #t))
+ (setenv (string-append "LYX_DIR_"
+ (string-join
+ (string-split
+ ,(version-major+minor version) #\-)) "x")
+ (string-append (getcwd) "/../lyx-" ,version "/lib"))
#t))
(add-after 'install 'install-symlinks
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
- (symlink "../lyx2.2/bin/lyx2.2"
- (string-append out "/bin/lyx2.2"))
+ (symlink (string-append "../lyx" ,(version-major+minor version)
+ "/bin/lyx" ,(version-major+minor version))
+ (string-append out "/bin/lyx" ,(version-major+minor version)))
#t))))))
(inputs
`(("boost" ,boost)
- ("hunspell" ,hunspell) ; Note: Could also use aspell instead.
+ ("hunspell" ,hunspell) ; Note: Could also use aspell instead.
("libx11" ,libx11)
- ("python-2" ,python-2)
+ ("mythes" ,mythes)
+ ("python" ,python-2)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("zlib" ,zlib)))
(propagated-inputs
- `(("texlive" ,texlive))) ; article.cls is in texmf-dist.
+ `(("texlive" ,(texlive-union (list texlive-fonts-ec)))))
+ ;; FIXME: Python 3.7.0 cannot be used because the test infrastructure
+ ;; "requires a bytes-like object, not 'str'". This may be fixed with
+ ;; upgrades to Python.
(native-inputs
- `(("python-2" ,python-2)
+ `(("python" ,python-2)
("pkg-config" ,pkg-config)
("bc" ,bc)))
(home-page "https://www.lyx.org/")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 7cc70fe0d6..f736447523 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
@@ -900,14 +900,13 @@ extensions.")
(name "dehydrated")
(version "0.6.2")
(source (origin
- (method url-fetch/tarbomb)
+ (method url-fetch)
(uri (string-append
- "https://github.com/lukas2511/dehydrated/archive/v"
- version ".tar.gz"))
+ "https://github.com/lukas2511/dehydrated/releases/download/"
+ "v" version "/dehydrated-" version ".tar.gz"))
(sha256
(base32
- "03p80yj6bnzjc6dkp5hb9wpplmlrla8n5src71cnzw4rj53q8cqn"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "03p80yj6bnzjc6dkp5hb9wpplmlrla8n5src71cnzw4rj53q8cqn"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -915,15 +914,20 @@ extensions.")
(begin
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (gz (assoc-ref %build-inputs "gzip"))
(out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/"))
(bash (in-vicinity (assoc-ref %build-inputs "bash") "bin")))
- (mkdir-p bin)
+
+ (setenv "PATH" (string-append gz "/bin"))
+ (invoke (string-append tar "/bin/tar") "xvf" source)
+ (chdir (string-append ,name "-" ,version))
+
+ (install-file "dehydrated" bin)
+ (install-file "LICENSE" (string-append doc ,name "-" ,version))
(with-directory-excursion bin
- (copy-file
- (in-vicinity source (string-append "/dehydrated-" ,version
- "/dehydrated"))
- (in-vicinity bin "dehydrated"))
(patch-shebang "dehydrated" (list bash))
;; Do not try to write in the store.
@@ -954,6 +958,9 @@ extensions.")
("grep" ,grep)
("openssl" ,openssl)
("sed" ,sed)))
+ (native-inputs
+ `(("gzip" ,gzip)
+ ("tar" ,tar)))
(home-page "https://dehydrated.io/")
(synopsis "Let's Encrypt/ACME client implemented as a shell script")
(description "Dehydrated is a client for signing certificates with an
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 894eec4e84..8de46c49bc 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -112,6 +112,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
+ #:use-module (gnu packages markup)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
@@ -119,6 +120,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@@ -316,7 +318,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public mkvtoolnix
(package
(name "mkvtoolnix")
- (version "13.0.0")
+ (version "31.0.0")
(source
(origin
(method url-fetch)
@@ -324,12 +326,13 @@ H.264 (MPEG-4 AVC) video streams.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0hknnnnx9661igm1r73dc7aqxnnrl5a8yvyvr1nhd9ymn2klwpl5"))
+ "0d8va2iamzc7y3wi71z8mk2vnqvnkgwb2p7casdfp37400x8r2pr"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled libraries.
(for-each delete-file-recursively
- '("lib/libebml"
+ '("lib/fmt"
+ "lib/libebml"
"lib/libmatroska"
"lib/nlohmann-json"
"lib/pugixml"
@@ -339,15 +342,18 @@ H.264 (MPEG-4 AVC) video streams.")
(inputs
`(("boost" ,boost)
("bzip2" ,bzip2)
+ ("cmark" ,cmark)
("libebml" ,libebml)
- ("flac" ,flac)
("file" ,file)
+ ("flac" ,flac)
+ ("fmt" ,fmt)
("libmatroska" ,libmatroska)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("lzo" ,lzo)
("pugixml" ,pugixml)
- ("qt" ,qt)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
("utfcpp" ,utfcpp)
("zlib" ,zlib)))
(native-inputs
@@ -359,6 +365,7 @@ H.264 (MPEG-4 AVC) video streams.")
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
+ ("qttools" ,qttools)
("ruby" ,ruby)))
(arguments
`(#:configure-flags
@@ -368,16 +375,15 @@ H.264 (MPEG-4 AVC) video streams.")
(assoc-ref %build-inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))
- (string-append "--with-extra-includes="
- (assoc-ref %build-inputs "nlohmann-json-cpp")
- "/include/nlohmann"))
+ "--enable-update-check=no"
+ "--enable-precompiled-headers=no")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'add-googletest
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(symlink
- (string-append (assoc-ref %build-inputs "googletest")
- "/include/gtest") "lib/gtest")
+ (string-append (assoc-ref inputs "googletest")
+ "/include/gtest") "lib/gtest")
#t))
(replace 'build
(lambda _
@@ -1764,7 +1770,7 @@ for use with HTML5 video.")
(define-public avidemux
(package
(name "avidemux")
- (version "2.6.12")
+ (version "2.7.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1772,7 +1778,7 @@ for use with HTML5 video.")
name "_" version ".tar.gz"))
(sha256
(base32
- "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn"))
+ "15g9h791qbnmycabbbl7s2b3n3xpvygm88qrfk35g2cw6957ik9w"))
(patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system)
(native-inputs
@@ -1794,9 +1800,8 @@ for use with HTML5 video.")
("perl" ,perl)
("pulseaudio" ,pulseaudio)
("python" ,python-wrapper)
- ("qt" ,qt) ; FIXME: reenable modular qt after update - requires building
- ;("qtbase" ,qtbase) with -std=gnu++11.
- ;("qttools" ,qttools)
+ ("qtbase" ,qtbase)
+ ("qttools" ,qttools)
("sdl" ,sdl)
("sqlite" ,sqlite)
("yasm" ,yasm)
@@ -1810,19 +1815,19 @@ for use with HTML5 video.")
(add-before 'patch-source-shebangs 'unpack-ffmpeg
(lambda _
(with-directory-excursion "avidemux_core/ffmpeg_package"
- (invoke "tar" "xf" "ffmpeg-2.7.6.tar.bz2")
- (delete-file "ffmpeg-2.7.6.tar.bz2"))
+ (invoke "tar" "xf" "ffmpeg-3.3.7.tar.bz2")
+ (delete-file "ffmpeg-3.3.7.tar.bz2"))
#t))
(add-after 'patch-source-shebangs 'repack-ffmpeg
(lambda _
(with-directory-excursion "avidemux_core/ffmpeg_package"
- (substitute* "ffmpeg-2.7.6/configure"
+ (substitute* "ffmpeg-3.3.7/configure"
(("#! /bin/sh") (string-append "#!" (which "sh"))))
- (invoke "tar" "cjf" "ffmpeg-2.7.6.tar.bz2" "ffmpeg-2.7.6"
+ (invoke "tar" "cjf" "ffmpeg-3.3.7.tar.bz2" "ffmpeg-3.3.7"
;; avoid non-determinism in the archive
"--sort=name" "--mtime=@0"
"--owner=root:0" "--group=root:0")
- (delete-file-recursively "ffmpeg-2.7.6"))
+ (delete-file-recursively "ffmpeg-3.3.7"))
#t))
(replace 'configure
(lambda _
@@ -3225,8 +3230,10 @@ create smoother and stable videos.")
(("(SET\\(PYTHON_MODULE_PATH.*)\\)" _ set)
(string-append set " CACHE PATH "
"\"Python bindings directory\")")))
+ (delete-file-recursively "thirdparty")
#t))
- (patches (search-patches "libopenshot-tests-with-system-libs.patch"))))
+ (patches (search-patches "libopenshot-fixup-tests.patch"
+ "libopenshot-tests-with-system-libs.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -3239,7 +3246,8 @@ create smoother and stable videos.")
("imagemagick" ,imagemagick)
("jsoncpp" ,jsoncpp)
("libopenshot-audio" ,libopenshot-audio)
- ("qt" ,qt) ;widgets, core, gui, multimedia, and multimediawidgets
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
("zeromq" ,zeromq)))
(arguments
`(#:configure-flags
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 8d9d2335ee..47e24460f9 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -796,10 +796,10 @@ incremental backups of running QEMU virtual machines via QMP, the QEMU
Machine Protocol.")
(license license:gpl3+)))
-(define-public lookingglass
- (let ((commit "41f4166aedeba65892f6db4de4de467aec9a2052"))
+(define-public looking-glass-client
+ (let ((commit "182c4752d57690da7f99d5e788de9b8baea33895"))
(package
- (name "lookingglass")
+ (name "looking-glass-client")
(version (string-append "a12-" (string-take commit 7)))
(source
(origin
@@ -809,7 +809,7 @@ Machine Protocol.")
(file-name (git-file-name name version))
(sha256
(base32
- "1sjxf4zy7h0zprla3s6dfwsxhmkrwhlhj07svf5bk5ij20bs0dc2"))))
+ "02bq46ndmzq9cihazzn7xq1x7q5nzm7iw4l9lqzihxcxp9famkhw"))))
(build-system cmake-build-system)
(inputs `(("fontconfig" ,fontconfig)
("glu" ,glu)
@@ -847,6 +847,9 @@ monitor/GPU.")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2+))))
+(define-public lookingglass
+ (deprecated-package "lookingglass" looking-glass-client))
+
(define-public runc
(package
(name "runc")
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index e135fdef17..f15b111a92 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -449,3 +450,68 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
;; This project contains a bundled lwIP. lwIP is also released under the
;; 3-clause BSD license.
(license license:bsd-3)))
+
+(define-public wireguard
+ (package
+ (name "wireguard")
+ (version "0.0.20190123")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
+ "WireGuard-" version ".tar.xz"))
+ (sha256
+ (base32
+ "16yzzy4i0z2zslmyr3kppkvkrxryzwdil6v270w9w5mg65v3rlgd"))))
+ (build-system gnu-build-system)
+ (outputs '("out" ; The WireGuard userspace tools
+ "kernel-patch")) ; A patch to build Linux with WireGuard support
+ (arguments
+ `(#:make-flags
+ (list "CC=gcc"
+ "WITH_BASHCOMPLETION=yes"
+ ;; Build and install the helper script wg-quick(8).
+ "WITH_WGQUICK=yes"
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "SYSCONFDIR=" (assoc-ref %outputs "out") "/etc"))
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 popen)
+ (ice-9 textual-ports))
+ #:phases
+ (modify-phases %standard-phases
+ ;; There is no ./configure script.
+ (delete 'configure)
+ ;; Until WireGuard is added to the upstream Linux kernel, it is
+ ;; distributed as a kernel patch generated by this script.
+ (add-after 'patch-source-shebangs 'make-patch
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((output (string-append (assoc-ref outputs "kernel-patch")
+ "/wireguard.patch"))
+ (patch-builder "./contrib/kernel-tree/create-patch.sh")
+ (port (open-input-pipe patch-builder))
+ (str (get-string-all port)))
+ (close-pipe port)
+ (mkdir-p (dirname output))
+ (call-with-output-file output
+ (lambda (port)
+ (format port "~a" str))))
+ #t))
+ (add-after 'make-patch 'chdir
+ (lambda _
+ (chdir "src/tools")
+ #t))
+ ;; Otherwise the 'install-license-file' phase installs nothing.
+ ;; <https://bugs.gnu.org/34703>
+ (add-after 'install 'reset-cwd
+ (lambda _
+ (chdir "../..")
+ #t)))))
+ (inputs
+ `(("libmnl" ,libmnl)))
+ (home-page "https://www.wireguard.com/")
+ (synopsis "Tools for configuring WireGuard")
+ (description "This package provides the userspace tools for setting and
+retrieving configuration of WireGuard network tunnel interfaces, and a patch
+that can be applied to a Linux kernel source tree in order to build it with
+WireGuard support.")
+ (license license:gpl2)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 70a839b639..0266e99e26 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
@@ -1248,57 +1249,88 @@ minimum to provide high performance operation.")
;; bundled CuTest framework uses a different non-copyleft license.
(license (list l:asl2.0 (l:non-copyleft "file://test/CuTest-README.txt")))))
+(define-public libsass
+ (package
+ (name "libsass")
+ (version "3.5.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sass/libsass.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0830pjcvhzxh6yixj82x5k5r1xnadjqzi16kp53213icbly0r9ma"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'set-LIBSASS_VERSION
+ (lambda _
+ (setenv "LIBSASS_VERSION" ,version)
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (home-page "https://sass-lang.com/libsass")
+ (synopsis "SASS Compiler, implemented as a C/C++ library")
+ (description
+ "LibSass is a @acronym{SASS,Syntactically awesome style sheets} compiler
+library designed for portability and efficiency. To actually compile SASS
+stylesheets, you'll need to use another program that uses this library,
+@var{sassc} for example.")
+ (license l:expat)))
+
(define-public sassc
- ;; libsass must be statically linked and it isn't included in the sassc
- ;; release tarballs, hence this odd package recipe.
- (let* ((version "3.4.5")
- (libsass
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/sass/libsass/archive/"
- version ".tar.gz"))
- (file-name (string-append "libsass-" version ".tar.gz"))
- (sha256
- (base32
- "1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x")))))
- (package
- (name "sassc")
- (version version)
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/sass/sassc/archive/"
- version ".tar.gz"))
- (file-name (string-append "sassc-" version ".tar.gz"))
- (sha256
- (base32
- "1xk4kmmvziz9sal3swpqa10q0s289xjpcz8aggmly8mvxvmngsi9"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags
- (list "CC=gcc"
- (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:test-target "test"
- ;; FIXME: "make test" rebuilds the application and gets lost in a
- ;; non-existing directory.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'bootstrap)
- (delete 'configure)
- (add-after 'unpack 'unpack-libsass-and-set-path
- (lambda* (#:key inputs #:allow-other-keys)
- (invoke "tar" "xvf" (assoc-ref inputs "libsass"))
- (setenv "SASS_LIBSASS_PATH"
- (string-append (getcwd) "/libsass-" ,version))
- #t)))))
- (inputs
- `(("libsass" ,libsass)))
- (synopsis "CSS pre-processor")
- (description "SassC is a compiler written in C for the CSS pre-processor
+ (package
+ (name "sassc")
+ (version "3.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sass/sassc.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jsfz1zg4gwk0dq8i92ll12axs3s70wsdsmdyi71zx8zmvib5nl6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ ;; I don't believe sassc contains any tests
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-Makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("build-shared: \\$\\(RESOURCES\\) \\$\\(OBJECTS\\) \\$\\(LIB_SHARED\\)")
+ "build-shared: $(RESOURCES) $(OBJECTS)")
+ (("\\$\\(SASSC_EXE\\): libsass build")
+ "$(SASSC_EXE): build")
+ (("install: libsass-install-\\$\\(BUILD\\) \\\\")
+ "install: \\"))
+ #t))
+ ;; This phase fails for some reason
+ (delete 'bootstrap)
+ ;; There is no configure script
+ (delete 'configure)
+ (add-before 'build 'setup-environment
+ (lambda _
+ (setenv "BUILD" "shared")
+ (setenv "SASSC_VERSION" ,version)
+ #t)))))
+ (inputs
+ `(("libsass" ,libsass)))
+ (synopsis "CSS pre-processor")
+ (description "SassC is a compiler written in C for the CSS pre-processor
language known as SASS.")
- (home-page "http://sass-lang.com/libsass")
- (license l:expat))))
+ (home-page "http://sass-lang.com/libsass")
+ (license l:expat)))
(define-public perl-apache-logformat-compiler
@@ -5432,14 +5464,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
(define-public java-tomcat
(package
(name "java-tomcat")
- (version "8.5.32")
+ (version "8.5.38")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/tomcat/tomcat-8/v"
version "/src/apache-tomcat-" version "-src.tar.gz"))
(sha256
(base32
- "1qjsr6zmkdciakya4jqz0ssnsk02qlmmd898c05rasfwcrpj0xi6"))
+ "13pbsyk39g1qph82nngp54mqycmg60rxlxwy4yszsssahrqnggb2"))
(modules '((guix build utils)))
;; Delete bundled jars.
(snippet
@@ -5515,7 +5547,8 @@ technologies.")
(modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
- (chdir "jetty-test-helper")))
+ (chdir "jetty-test-helper")
+ #t))
(add-before 'build 'fix-paths
(lambda _
;; TODO:
@@ -5779,7 +5812,8 @@ or embedded instantiation. This package provides the JMX management.")))
(modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
- (chdir "jetty-http"))))))
+ (chdir "jetty-http")
+ #t)))))
(inputs
`(("slf4j" ,java-slf4j-api)
("servlet" ,java-tomcat)
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index af34052ee4..1c3275cb2b 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -59,14 +59,14 @@
(define-public webkitgtk
(package
(name "webkitgtk")
- (version "2.22.6")
+ (version "2.22.7")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0ny8azipr2dmdk79qrf4hvb2p4k5b3af38szjhmhg8mh1nfdp46z"))))
+ "1zrhmz90sn30zgyflj4i86fsscws10xsi2kfs87nj2nd0pbggrjb"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(arguments
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 67da5b455e..6d2d9ea09b 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -310,7 +310,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "4.2")
+ (version "4.3")
(source
(origin
(method git-fetch)
@@ -320,7 +320,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version))
(sha256
(base32
- "1dhv6y60g64bj3kgfknbfzxfzmy686dh7svxlvi4lfis2faikxmk"))))
+ "14plsw52s4w0wpm0rici8b7amb51krdrby03652isvzxqr4ndip6"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@@ -366,8 +366,9 @@ integrate Windows applications into your desktop.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "1ysvq2jyvh7r27iwpsrlrwzj672jnrihry91bx3m3fysz3sl3ld1"))))
+ "1d0gbwc8ll4mfxilw9j4vdzqlnracr6y8iss27nfg1qh0q7vbf9x"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
+ ("faudio" ,faudio)
("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+)
("libva" ,libva)
@@ -406,7 +407,10 @@ integrate Windows applications into your desktop.")
(script (string-append (assoc-ref %build-inputs
"wine-staging-patchset-data")
"/share/wine-staging/patches/patchinstall.sh")))
- (invoke script (string-append "DESTDIR=" ".") "--all")
+ ;; Exclude specific patches that conflict with FAudio.
+ (invoke script (string-append "DESTDIR=" ".") "--all" "-W"
+ "xaudio2-revert" "-W" "xaudio2_CommitChanges" "-W"
+ "xaudio2_7-WMA_support" "-W" "xaudio2_7-CreateFX-FXEcho")
#t)))
(add-after 'configure 'patch-dlopen-paths
;; Hardcode dlopened sonames to absolute paths.
@@ -482,7 +486,10 @@ integrated into the main branch.")
(script (string-append (assoc-ref %build-inputs
"wine-staging-patchset-data")
"/share/wine-staging/patches/patchinstall.sh")))
- (invoke script (string-append "DESTDIR=" ".") "--all")
+ ;; Exclude specific patches that conflict with FAudio.
+ (invoke script (string-append "DESTDIR=" ".") "--all" "-W"
+ "xaudio2-revert" "-W" "xaudio2_CommitChanges" "-W"
+ "xaudio2_7-WMA_support" "-W" "xaudio2_7-CreateFX-FXEcho")
#t)))
(add-after 'install 'copy-wine32-binaries
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 231fc3254b..3638f8fdce 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -5099,16 +5099,16 @@ over Xlib, including:
(define-public xorg-server
(package
(name "xorg-server")
- (version "1.20.3")
+ (version "1.20.4")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/xserver/"
- name "-" version ".tar.bz2"))
+ "xorg-server-" version ".tar.bz2"))
(sha256
(base32
- "1ph1j8gy5cazsq05krq9kppjx5v1sl75pbdka8ibxb1cq5kf8g0v"))
+ "1vk6j7hmigfill9x8m7a6vvgb3s50ji2yf6yprbgqfz9xf9x83zy"))
(patches
(list
;; See:
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 36e90fc825..f92d33bf94 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
@@ -136,7 +136,7 @@
(system? #t)
(comment "Cuirass privilege separation user")
(home-directory (string-append "/var/lib/" cuirass-user))
- (shell #~(string-append #$shadow "/sbin/nologin"))))))
+ (shell (file-append shadow "/sbin/nologin"))))))
(define (cuirass-activation config)
"Return the activation code for CONFIG."
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index 685641f110..611448b733 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -258,7 +258,7 @@ configuration file."))
(group zabbix-group)
(comment "zabbix privilege separation user")
(home-directory (string-append "/var/run/" zabbix-user))
- (shell #~(string-append #$shadow "/sbin/nologin"))))))
+ (shell (file-append shadow "/sbin/nologin"))))))
(define (zabbix-server-config-file config)
"Return the zabbix-server configuration file corresponding to CONFIG."
@@ -387,7 +387,7 @@ configuration file."))
(group zabbix-group)
(comment "zabbix privilege separation user")
(home-directory (string-append "/var/run/" zabbix-user))
- (shell #~(string-append #$shadow "/sbin/nologin"))))))
+ (shell (file-append shadow "/sbin/nologin"))))))
(define (zabbix-agent-activation config)
"Return the activation gexp for CONFIG."
diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm
index 621e6c46d4..6c117bbda4 100644
--- a/gnu/services/rsync.scm
+++ b/gnu/services/rsync.scm
@@ -88,7 +88,7 @@
(comment "rsyncd privilege separation user")
(home-directory (string-append "/var/run/"
rsync-user))
- (shell #~(string-append #$shadow "/sbin/nologin"))))))
+ (shell (file-append shadow "/sbin/nologin"))))))
(define (rsync-activation config)
"Return the activation GEXP for CONFIG."
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 97b7f3c07b..362a7f1490 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@@ -349,7 +349,7 @@ The other options should be self-descriptive."
(system? #t)
(comment "sshd privilege separation user")
(home-directory "/var/run/sshd")
- (shell #~(string-append #$shadow "/sbin/nologin")))))
+ (shell (file-append shadow "/sbin/nologin")))))
(define (openssh-activation config)
"Return the activation GEXP for CONFIG."
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 0f8fb7f456..cc8b273c98 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -397,7 +397,7 @@ info --version")
(use-modules (srfi srfi-34) (guix store))
(let ((system (readlink "/run/current-system")))
- (guard (c ((nix-protocol-error? c)
+ (guard (c ((store-protocol-error? c)
(and (file-exists? system)
'success!)))
(with-store store
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 3966531efa..63f6129279 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -141,7 +141,7 @@ COMMAND or an interactive shell in that environment.\n"))
(display (G_ "
--pure unset existing environment variables"))
(display (G_ "
- --inherit=REGEXP inherit environment variables that match REGEXP"))
+ -E, --preserve=REGEXP preserve environment variables that match REGEXP"))
(display (G_ "
--search-paths display needed environment variable definitions"))
(display (G_ "
@@ -215,14 +215,18 @@ COMMAND or an interactive shell in that environment.\n"))
(option '("pure") #f #f
(lambda (opt name arg result)
(alist-cons 'pure #t result)))
- (option '("inherit") #t #f
+ (option '(#\E "preserve") #t #f
(lambda (opt name arg result)
(alist-cons 'inherit-regexp
(make-regexp* arg)
result)))
- (option '(#\E "exec") #t #f ; deprecated
+ (option '("inherit") #t #f ;deprecated
(lambda (opt name arg result)
- (alist-cons 'exec (list %default-shell "-c" arg) result)))
+ (warning (G_ "'--inherit' is deprecated, \
+use '--preserve' instead~%"))
+ (alist-cons 'inherit-regexp
+ (make-regexp* arg)
+ result)))
(option '("search-paths") #f #f
(lambda (opt name arg result)
(alist-cons 'search-paths #t result)))
diff --git a/po/doc/guix-manual.fr.po b/po/doc/guix-manual.fr.po
index 3faeed8ee4..3b164eead5 100644
--- a/po/doc/guix-manual.fr.po
+++ b/po/doc/guix-manual.fr.po
@@ -2,13 +2,14 @@
# Copyright (C) 2013-2018 the authors of Guix (msgids)
# This file is distributed under the same license as the guix package.
# Julien Lepiller <julien@lepiller.eu>, 2018.
+# Simon Tournier <zimon.toutoune@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: guix-manual 0.16.0.1\n"
"Report-Msgid-Bugs-To: ludo@gnu.org\n"
"POT-Creation-Date: 2018-11-28 22:35+0100\n"
-"PO-Revision-Date: 2018-12-02 12:30+0100\n"
+"PO-Revision-Date: 2019-02-17 19:00+0100\n"
"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -240,7 +241,7 @@ msgstr "Ensuite, lancez @command{./configure} comme d'habitude. Assurez-vous de
#. type: Plain text
#: doc/contributing.texi:100
msgid "Finally, you have to invoke @code{make check} to run tests (@pxref{Running the Test Suite}). 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 "Finalement, vous devez invoquer @code{make check} pour lancer les tests (@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil aux instructions d'installation (@pxref{Installation}) ou envoyez un message à la list @email{guix-devel@@gnu.org}."
+msgstr "Finalement, vous devez invoquer @code{make check} pour lancer les tests (@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil aux instructions d'installation (@pxref{Installation}) ou envoyez un message à la liste @email{guix-devel@@gnu.org}."
#. type: Plain text
#: doc/contributing.texi:109
@@ -574,7 +575,7 @@ msgstr "Si vous éditez du code avec Vim, nous recommandons de lancer @code{:set
#. type: Plain text
#: doc/contributing.texi:319
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 "Nous demandons que toutes les procédure de premier niveau contiennent une chaîne de documentation. Ce pré-requis peut être relâché pour les procédures privées simples dans l'espace de nom @code{(guix build @dots{})} cependant."
+msgstr "Nous demandons que toutes les procédure de premier niveau contiennent une chaîne de documentation. Ce prérequis peut être relâché pour les procédures privées simples dans l'espace de nom @code{(guix build @dots{})} cependant."
#. type: Plain text
#: doc/contributing.texi:322
@@ -684,7 +685,7 @@ msgstr "entre 300 et 1 200 paquets dépendants"
#. type: table
#: doc/contributing.texi:407
msgid "@code{staging} branch (non-disruptive changes). This branch is intended to be merged in @code{master} every 3 weeks or so. Topical changes (e.g., an update of the GNOME stack) can instead go to a specific branch (say, @code{gnome-updates})."
-msgstr "branche @code{staging} (changemets non-disruptifs). Cette branche devrait être fusionnées dans @code{master} tous les 3 semaines. Les changements par thèmes (par exemple une mise à jour de la pile GNOME) peuvent aller dans une branche spécifique (disons, @code{gnome-updates})."
+msgstr "branche @code{staging} (changements non-disruptifs). Cette branche devrait être fusionnées dans @code{master} tous les 3 semaines. Les changements par thèmes (par exemple une mise à jour de la pile GNOME) peuvent aller dans une branche spécifique (disons, @code{gnome-updates})."
#. type: item
#: doc/contributing.texi:408
@@ -863,7 +864,7 @@ msgstr "guix package : (guix.fr)Invoquer guix package"
#. type: menuentry
#: doc/guix.texi:73
msgid "Installing, removing, and upgrading packages."
-msgstr "Intaller, supprimer et mettre à jour des paquets."
+msgstr "Installer, supprimer et mettre à jour des paquets."
#. type: menuentry
#: doc/guix.texi:73
@@ -1343,7 +1344,7 @@ msgstr "Authentification des substituts"
#. type: menuentry
#: doc/guix.texi:168 doc/guix.texi:2323
msgid "How Guix verifies substitutes."
-msgstr "Coment Guix vérifie les substituts."
+msgstr "Comment Guix vérifie les substituts."
#. type: subsection
#: doc/guix.texi:168 doc/guix.texi:2323 doc/guix.texi:2463 doc/guix.texi:2464
@@ -1427,7 +1428,7 @@ msgstr "Interface de bas-niveau avec les dérivations de paquets."
#: doc/guix.texi:178 doc/guix.texi:3723 doc/guix.texi:5187 doc/guix.texi:5188
#, no-wrap
msgid "The Store Monad"
-msgstr "La monad du dépôt"
+msgstr "La monade du dépôt"
#. type: menuentry
#: doc/guix.texi:178 doc/guix.texi:3723
@@ -2111,7 +2112,7 @@ msgstr "Services réseau"
#. type: menuentry
#: doc/guix.texi:278 doc/guix.texi:10706
msgid "Network setup, SSH daemon, etc."
-msgstr "Paramétres réseau, démon SSH, etc."
+msgstr "Paramètres réseau, démon SSH, etc."
#. type: subsubsection
#: doc/guix.texi:278 doc/guix.texi:10706 doc/guix.texi:12645
@@ -2635,7 +2636,7 @@ msgstr "site officiel"
#. type: Plain text
#: doc/guix.texi:399
msgid "GNU Guix is available for download from its website at @url{http://www.gnu.org/software/guix/}. This section describes the software requirements of Guix, as well as how to install it and get ready to use it."
-msgstr "GNU Guix est disponible au téléchargement depuis son site web sur @url{http://www.gnu.org/software/guix/}. Cette section décrit les pré-requis logiciels de Guix ainsi que la manière de l'installer et de se préparer à l'utiliser."
+msgstr "GNU Guix est disponible au téléchargement depuis son site web sur @url{http://www.gnu.org/software/guix/}. Cette section décrit les prérequis logiciels de Guix ainsi que la manière de l'installer et de se préparer à l'utiliser."
#. type: Plain text
#: doc/guix.texi:404
@@ -2679,7 +2680,7 @@ msgstr "script d'installation"
#. type: Plain text
#: doc/guix.texi:436
msgid "This section describes how to install Guix on an arbitrary system from a self-contained tarball providing binaries for Guix and for all its dependencies. This is often quicker than installing from source, which is described in the next sections. The only requirement is to have GNU@tie{}tar and Xz."
-msgstr "Cette section décrit comment intaller Guix sur un système quelconque depuis un archive autonome qui fournit les binaires pour Guix et toutes ses dépendances. C'est souvent plus rapide que d'installer depuis les sources, ce qui est décrit dans les sections suivantes. Le seul pré-requis est d'avoir GNU@tie{}tar et Xz."
+msgstr "Cette section décrit comment installer Guix sur un système quelconque depuis un archive autonome qui fournit les binaires pour Guix et toutes ses dépendances. C'est souvent plus rapide que d'installer depuis les sources, ce qui est décrit dans les sections suivantes. Le seul prérequis est d'avoir GNU@tie{}tar et Xz."
#. type: Plain text
#: doc/guix.texi:441
@@ -2759,7 +2760,7 @@ msgstr ""
#. type: enumerate
#: doc/guix.texi:487
msgid "This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. The latter contains a ready-to-use profile for @code{root} (see next step.)"
-msgstr "Cela crée @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. Ce deuxième dossier contient un profil pret à être utilisé pour @code{root} (voir les étapes suivantes)."
+msgstr "Cela crée @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}. Ce deuxième dossier contient un profil prêt à être utilisé pour @code{root} (voir les étapes suivantes)."
#. type: enumerate
#: doc/guix.texi:490
@@ -2914,7 +2915,7 @@ msgstr "substituts, autorisations"
#. type: enumerate
#: doc/guix.texi:587
msgid "To use substitutes from @code{hydra.gnu.org} or one of its mirrors (@pxref{Substitutes}), authorize them:"
-msgstr "Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses mirroirs (@pxref{Substituts}), autorisez-les :"
+msgstr "Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses miroirs (@pxref{Substituts}), autorisez-les :"
#. type: example
#: doc/guix.texi:591
@@ -2955,7 +2956,7 @@ msgstr "Le paquet @code{guix} doit rester disponible dans le profil de @code{roo
#. type: Plain text
#: doc/guix.texi:615
msgid "The binary installation tarball can be (re)produced and verified simply by running the following command in the Guix source tree:"
-msgstr "L'archive d'installation binaire peut être (re)produite et vérifiée simplement en lançaint la commande suivante dans l'arborescence des sources de Guix :"
+msgstr "L'archive d'installation binaire peut être (re)produite et vérifiée simplement en lançant la commande suivante dans l'arborescence des sources de Guix :"
#. type: example
#: doc/guix.texi:618
@@ -2986,7 +2987,7 @@ msgstr "@xref{Invoking guix pack}, pour plus d'info sur cet outil pratique."
#. type: Plain text
#: doc/guix.texi:637
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 "Cette section dresse la liste des pré-requis pour la construction de Guix depuis les sources. La procédure de construction pour Guix est la même que pour les autres logiciels GNU, et n'est pas expliquée ici. Regardez les fichiers @file{README} et @file{INSTALL} dans l'arborescence des sources de Guix pour plus de détails."
+msgstr "Cette section dresse la liste des prérequis pour la construction de Guix depuis les sources. La procédure de construction pour Guix est la même que pour les autres logiciels GNU, et n'est pas expliquée ici. Regardez les fichiers @file{README} et @file{INSTALL} dans l'arborescence des sources de Guix pour plus de détails."
#. type: Plain text
#: doc/guix.texi:639
@@ -3055,7 +3056,7 @@ msgstr "Installer @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JS
#. type: itemize
#: doc/guix.texi:676
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.10.2 or later."
-msgstr "Le support pour la décharge de construction (@pxref{Daemon Offload Setup}) et @command{guix copy} (@pxref{Invoking guix copy}) dépend de @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 ou ulltérieure."
+msgstr "Le support pour la décharge de construction (@pxref{Daemon Offload Setup}) et @command{guix copy} (@pxref{Invoking guix copy}) dépend de @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 ou ultérieure."
#. type: itemize
#: doc/guix.texi:680
@@ -3153,7 +3154,7 @@ msgstr "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n"
#. type: Plain text
#: doc/guix.texi:747
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 "Par défaut, les résultats des tests sont affichés au niveau du fichier. Pour voir les détails de chaque cas de test individuel, il est possible de définire la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans cet exemple :"
+msgstr "Par défaut, les résultats des tests sont affichés au niveau du fichier. Pour voir les détails de chaque cas de test individuel, il est possible de définir la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans cet exemple :"
#. type: example
#: doc/guix.texi:750
@@ -3730,7 +3731,7 @@ msgstr "sécurité, guix-daemon"
#. type: Plain text
#: doc/guix.texi:1140
msgid "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can be installed on a system where SELinux is enabled, in order to label Guix files and to specify the expected behavior of the daemon. Since GuixSD does not provide an SELinux base policy, the daemon policy cannot be used on GuixSD."
-msgstr "Guix inclus un fichier de politique SELniux dans @file{etc/guix-daemon.cil} qui peut être installé sur un système où SELinux est activé pour que les fichiers Guix soient étiquetés et pour spécifier le comportement attendu du démon. Comme GuixSD ne fournit pas de politique SELniux de base, la politique du démon ne peut pas être utilisée sur GuixSD@."
+msgstr "Guix inclus un fichier de politique SELinux dans @file{etc/guix-daemon.cil} qui peut être installé sur un système où SELinux est activé pour que les fichiers Guix soient étiquetés et pour spécifier le comportement attendu du démon. Comme GuixSD ne fournit pas de politique SELinux de base, la politique du démon ne peut pas être utilisée sur GuixSD@."
#. type: subsubsection
#: doc/guix.texi:1141
@@ -3785,7 +3786,7 @@ msgstr "SELinux, limites"
#. type: Plain text
#: doc/guix.texi:1171
msgid "This policy is not perfect. Here is a list of limitations or quirks that should be considered when deploying the provided SELinux policy for the Guix daemon."
-msgstr "La politique n'et pas parfaite. Voici une liste de limitations et de bizarreries qui vous devriez prendre en compte avant de déployer la politique SELinux fournie pour le démon Guix."
+msgstr "La politique n'est pas parfaite. Voici une liste de limitations et de bizarreries qui vous devriez prendre en compte avant de déployer la politique SELinux fournie pour le démon Guix."
#. type: enumerate
#: doc/guix.texi:1178
@@ -3913,7 +3914,7 @@ msgstr "daemon-substitute-urls"
#. type: table
#: doc/guix.texi:1285
msgid "Consider @var{urls} the default whitespace-separated list of substitute source URLs. When this option is omitted, @indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} is used (@code{mirror.hydra.gnu.org} is a mirror of @code{hydra.gnu.org})."
-msgstr "Considèrer @var{urls} comme la liste séparée par des espaces des URL des sources de substituts par défaut. Lorsque cette option est omise, @indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} est utilisé (@code{mirror.hydra.gnu.org} est un mirroire de @code{hydra.gnu.org})."
+msgstr "Considérer @var{urls} comme la liste séparée par des espaces des URL des sources de substituts par défaut. Lorsque cette option est omise, @indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} est utilisé (@code{mirror.hydra.gnu.org} est un miroir de @code{hydra.gnu.org})."
#. type: table
#: doc/guix.texi:1288
@@ -4047,7 +4048,7 @@ msgstr "Construire chaque dérivations @var{N} fois à la suite, et lever une er
#. type: table
#: doc/guix.texi:1352 doc/guix.texi:6608
msgid "When used in conjunction with @option{--keep-failed}, the differing output is kept in the store, under @file{/gnu/store/@dots{}-check}. This makes it easy to look for differences between the two results."
-msgstr "Lorsqu'utilisé avec @option{--keep-failed}, la sourtie différente est gardée dans le dépôt sous @file{/gnu/store/@dots{}-check}. Cela rend plus facile l'étude des différences entre les deux résultats."
+msgstr "Lorsqu'utilisé avec @option{--keep-failed}, la sortie différente est gardée dans le dépôt sous @file{/gnu/store/@dots{}-check}. Cela rend plus facile l'étude des différences entre les deux résultats."
#. type: item
#: doc/guix.texi:1353
@@ -4446,7 +4447,7 @@ msgstr "Comme il est extensible, NSS supporte des @dfn{greffons} qui fournissent
#. type: Plain text
#: doc/guix.texi:1574
msgid "When they perform a name lookup---for instance by calling the @code{getaddrinfo} function in C---applications first try to connect to the nscd; on success, nscd performs name lookups on their behalf. If the nscd is not running, then they perform the name lookup by themselves, by loading the name lookup services into their own address space and running it. These name lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, but they may come from the host system's C library, rather than from the C library the application is linked against (the C library coming from Guix)."
-msgstr "Lorsqu'ils essayent d'effectuer une résolution de nom — par exemple en appelant la fonction @code{getaddrinfo} en C — les applications essayent d'abord de se connecter au nscd ; en cas de réussite, nscd effectue la résolution de nom pour eux. Si le nscd ne tourne pas, alors ils effectue la résolution eux-même, en changeant les service de résolution dans leur propre espace d'adressage et en le lançant. Ce services de résolution de noms — les fichiers @file{libnns_*.so} — sont @code{dlopen}és mais ils peuvent provenir de la bibliothèque C du système, plutôt que de la bibliothèque C à laquelle l'application est liée (la bibliothèque C de Guix)."
+msgstr "Lorsqu'ils essayent d'effectuer une résolution de nom — par exemple en appelant la fonction @code{getaddrinfo} en C — les applications essayent d'abord de se connecter au nscd ; en cas de réussite, nscd effectue la résolution de nom pour eux. Si le nscd ne tourne pas, alors ils effectuent la résolution eux-mêmes, en changeant les service de résolution dans leur propre espace d'adressage et en le lançant. Ce services de résolution de noms — les fichiers @file{libnns_*.so} — sont @code{dlopen}és mais ils peuvent provenir de la bibliothèque C du système, plutôt que de la bibliothèque C à laquelle l'application est liée (la bibliothèque C de Guix)."
#. type: Plain text
#: doc/guix.texi:1579
@@ -4495,7 +4496,7 @@ msgstr "xterm"
#. type: Plain text
#: doc/guix.texi:1611
msgid "Older programs such as @command{xterm} do not use Fontconfig and instead rely on server-side font rendering. Such programs require to specify a full name of a font using XLFD (X Logical Font Description), like this:"
-msgstr "Les vieux programmes comme @command{xterm} n'utilisent pas fontconfig et s'appuient sur le rendu du côté du serveur. Ces programmes ont besoin de spécifier le nom complet de la police en utlisant XLFD (X Logical Font Description), comme ceci :"
+msgstr "Les vieux programmes comme @command{xterm} n'utilisent pas fontconfig et s'appuient sur le rendu du côté du serveur. Ces programmes ont besoin de spécifier le nom complet de la police en utilisant XLFD (X Logical Font Description), comme ceci :"
#. type: example
#: doc/guix.texi:1614
@@ -4578,7 +4579,7 @@ msgstr "Lorsque vous installez les paquets Emacs avec Guix, les fichiers elisp p
#. type: Plain text
#: doc/guix.texi:1667
msgid "By default, Emacs (installed with Guix) ``knows'' where these packages are placed, so you do not need to perform any configuration. If, for some reason, you want to avoid auto-loading Emacs packages installed with Guix, you can do so by running Emacs with @code{--no-site-file} option (@pxref{Init File,,, emacs, The GNU Emacs Manual})."
-msgstr "Par défaut, Emacs (installé avec Guix) « sait » où ces paquets ce trouvent, donc vous n'avez pas besoin de le configurer. Si, pour quelque raison que ce soit, vous souhaitez éviter de charger automatiquement les paquets Emacs installés avec Guix, vous pouvez le faire en lançaint Emacs avec l'option @code{--no-site-file} (@pxref{Init File,,, emacs, The GNU Emacs Manual})."
+msgstr "Par défaut, Emacs (installé avec Guix) « sait » où ces paquets ce trouvent, donc vous n'avez pas besoin de le configurer. Si, pour quelque raison que ce soit, vous souhaitez éviter de charger automatiquement les paquets Emacs installés avec Guix, vous pouvez le faire en lançant Emacs avec l'option @code{--no-site-file} (@pxref{Init File,,, emacs, The GNU Emacs Manual})."
#. type: subsection
#: doc/guix.texi:1668
@@ -4649,7 +4650,7 @@ msgstr "Plutôt que de se rapporter à ces répertoires, les utilisateurs ont le
#. type: Plain text
#: doc/guix.texi:1749
msgid "For example, @code{alice} installs GCC 4.7.2. As a result, @file{/home/alice/.guix-profile/bin/gcc} points to @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Now, on the same machine, @code{bob} had already installed GCC 4.8.0. The profile of @code{bob} simply continues to point to @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the same system without any interference."
-msgstr "Par exemple, @code{alice} installe GCC 4.7.2. Il en résulte que @file{/home/alice/.guix-profile/bin/gcc} pointe vers @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même machine, @code{bob} a déjà intallé GCC 4.8.0. Le profil de @code{bob} continue simplement de pointer vers @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — c.-à-d.@: les deux versions de GCC coexistent surs le même système sans aucune interférence."
+msgstr "Par exemple, @code{alice} installe GCC 4.7.2. Il en résulte que @file{/home/alice/.guix-profile/bin/gcc} pointe vers @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même machine, @code{bob} a déjà installé GCC 4.8.0. Le profil de @code{bob} continue simplement de pointer vers @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — c.-à-d.@: les deux versions de GCC coexistent surs le même système sans aucune interférence."
#. type: Plain text
#: doc/guix.texi:1753
@@ -5227,7 +5228,7 @@ msgstr ""
#. type: table
#: doc/guix.texi:2091
msgid "The last command above reports about the @code{GUILE_LOAD_PATH} variable, even though, taken individually, neither @file{foo} nor @file{bar} would lead to that recommendation."
-msgstr "La dernière commande ci-dessus montre la variable @code{GUILE_LOAD_PATH} bien que, pris individuellement, ni @file{foo} ni @file{bar} n'auraient donné cette recommendation."
+msgstr "La dernière commande ci-dessus montre la variable @code{GUILE_LOAD_PATH} bien que, pris individuellement, ni @file{foo} ni @file{bar} n'auraient donné cette recommandation."
#. type: item
#: doc/guix.texi:2093 doc/guix.texi:2891 doc/guix.texi:3290
@@ -5300,7 +5301,7 @@ msgstr "--bootstrap"
#. type: table
#: doc/guix.texi:2114
msgid "Use the bootstrap Guile to build the profile. This option is only useful to distribution developers."
-msgstr "Utiliser le programme d'amorçage Guile pour compiler le profil. Cette option n'est utile que pour les développeurs de la distriibution."
+msgstr "Utiliser le programme d'amorçage Guile pour compiler le profil. Cette option n'est utile que pour les développeurs de la distribution."
#. type: Plain text
#: doc/guix.texi:2120
@@ -5589,12 +5590,12 @@ msgstr "Et @code{--list-generations=1,8,2} renvoie les trois générations dans
#: doc/guix.texi:2258
#, no-wrap
msgid "@emph{Ranges}. @code{--list-generations=2..9} prints the"
-msgstr "@emph{Des interval}. @code{--list-generations=2..9} affiche les"
+msgstr "@emph{Des intervalles}. @code{--list-generations=2..9} affiche les"
#. type: itemize
#: doc/guix.texi:2261
msgid "specified generations and everything in between. Note that the start of a range must be smaller than its end."
-msgstr "générations demandées et tout ce qui se trouvent entre elles. Remarquez que le début d'un interval doit être plus petit que sa fin."
+msgstr "générations demandées et tout ce qui se trouvent entre elles. Remarquez que le début d'un intervalle doit être plus petit que sa fin."
#. type: itemize
#: doc/guix.texi:2265
@@ -5610,7 +5611,7 @@ msgstr "@emph{Des durées}. Vous pouvez aussi récupérer les derniers @emph{N}
#. type: itemize
#: doc/guix.texi:2270
msgid "or months by passing an integer along with the first letter of the duration. For example, @code{--list-generations=20d} lists generations that are up to 20 days old."
-msgstr "ou moins en passant un entier avec la première lettre de la durée (en anglais : d, w ou m). Par exemple @code{--list-generations=20d} liste les générations qui sont agées d'au plus 20 jours."
+msgstr "ou moins en passant un entier avec la première lettre de la durée (en anglais : d, w ou m). Par exemple @code{--list-generations=20d} liste les générations qui sont âgées d'au plus 20 jours."
#. type: item
#: doc/guix.texi:2272
@@ -5713,7 +5714,7 @@ msgstr "ACL (liste de contrôle d'accès), pour les substituts"
#. type: Plain text
#: doc/guix.texi:2368
msgid "To allow Guix to download substitutes from @code{hydra.gnu.org} or a mirror thereof, you must add its public key to the access control list (ACL) of archive imports, using the @command{guix archive} command (@pxref{Invoking guix archive}). Doing so implies that you trust @code{hydra.gnu.org} to not be compromised and to serve genuine substitutes."
-msgstr "Pour permettre à Guix de télécharger les substituts depuis @code{hydra.gnu.org} ou un mirroir, vous devez ajouter sa clef publique à la liste de contrôle d'accès (ACL) des imports d'archives, avec la commande @command{guix archive} (@pxref{Invoking guix archive}). Cela implique que vous faîtes confiance à @code{hydra.gnu.org} pour ne pas être compromis et vous servir des substituts authentiques."
+msgstr "Pour permettre à Guix de télécharger les substituts depuis @code{hydra.gnu.org} ou un miroir, vous devez ajouter sa clef publique à la liste de contrôle d'accès (ACL) des imports d'archives, avec la commande @command{guix archive} (@pxref{Invoking guix archive}). Cela implique que vous faîtes confiance à @code{hydra.gnu.org} pour ne pas être compromis et vous servir des substituts authentiques."
#. type: Plain text
#: doc/guix.texi:2375
@@ -5827,12 +5828,12 @@ msgstr "--substitute-urls=\"https://a.example.org https://b.example.org\"\n"
#. type: Plain text
#: doc/guix.texi:2455
msgid "If the ACL contains only the key for @code{b.example.org}, and if @code{a.example.org} happens to serve the @emph{exact same} substitutes, then Guix will download substitutes from @code{a.example.org} because it comes first in the list and can be considered a mirror of @code{b.example.org}. In practice, independent build machines usually produce the same binaries, thanks to bit-reproducible builds (see below)."
-msgstr "Si l'ACL contient uniquement la clef de @code{b.example.org}, et si @code{a.example.org} sert @emph{exactement les mêmes} substituts, alors Guix téléchargera les substituts de @code{a.example.org} parce qu'il vient en premier dans la liste et peut être considéré comme un mirroir de @code{b.example.org}. En pratique, des machines de constructions produisent souvent les mêmes binaires grâce à des construction reproductibles au bit près (voir plus bas)."
+msgstr "Si l'ACL contient uniquement la clef de @code{b.example.org}, et si @code{a.example.org} sert @emph{exactement les mêmes} substituts, alors Guix téléchargera les substituts de @code{a.example.org} parce qu'il vient en premier dans la liste et peut être considéré comme un miroir de @code{b.example.org}. En pratique, des machines de constructions produisent souvent les mêmes binaires grâce à des construction reproductibles au bit près (voir plus bas)."
#. type: Plain text
#: doc/guix.texi:2462
msgid "When using HTTPS, the server's X.509 certificate is @emph{not} validated (in other words, the server is not authenticated), contrary to what HTTPS clients such as Web browsers usually do. This is because Guix authenticates substitute information itself, as explained above, which is what we care about (whereas X.509 certificates are about authenticating bindings between domain names and public keys.)"
-msgstr "Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est @emph{pas} validé (en d'autre termes, le serveur n'est pas authentifié), contrairement à ce que des clients HTTPS comme des navigateurs web font habituellement. Cela est dû au fait que Guix authentifie les informations sur les substituts eux-même, comme expliqué plus haut, ce dont on se soucie réellement (alors que les certificats X.509 authentifie la relation entre nom de domaine et clef publique)."
+msgstr "Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est @emph{pas} validé (en d'autre termes, le serveur n'est pas authentifié), contrairement à ce que des clients HTTPS comme des navigateurs web font habituellement. Cela est dû au fait que Guix authentifie les informations sur les substituts eux-mêmes, comme expliqué plus haut, ce dont on se soucie réellement (alors que les certificats X.509 authentifie la relation entre nom de domaine et clef publique)."
#. type: Plain text
#: doc/guix.texi:2474
@@ -5863,7 +5864,7 @@ msgstr "confiance, en des binaires pré-construits"
#. type: Plain text
#: doc/guix.texi:2516
msgid "Today, each individual's control over their own computing is at the mercy of institutions, corporations, and groups with enough power and determination to subvert the computing infrastructure and exploit its weaknesses. While using @code{hydra.gnu.org} substitutes can be convenient, we encourage users to also build on their own, or even run their own build farm, such that @code{hydra.gnu.org} is less of an interesting target. One way to help is by publishing the software you build using @command{guix publish} so that others have one more choice of server to download substitutes from (@pxref{Invoking guix publish})."
-msgstr "De nos jours, le contrôle individuel sur son utilisation propre de l'informatique est à la merci d'institutions, de sociétés et de groupes avec assez de pouvoir et de détermination pour contourner les infrastructures informatiques et exploiter leurs faiblesses. Bien qu'utiliser les substituts de @code{hydra.gnu.org} soit pratique, nous encourageons les utilisateurs à construire aussi par eux-même, voir à faire tourner leur propre ferme de construction, pour que @code{hydra.gnu.org} devienne une cible moins intéressante. Une façon d'aider est de publier les logiciels que vous construisez avec @command{guix publish} pour que les autres aient plus de choix de serveurs où télécharger les substituts (@pxref{Invoking guix publish})."
+msgstr "De nos jours, le contrôle individuel sur son utilisation propre de l'informatique est à la merci d'institutions, de sociétés et de groupes avec assez de pouvoir et de détermination pour contourner les infrastructures informatiques et exploiter leurs faiblesses. Bien qu'utiliser les substituts de @code{hydra.gnu.org} soit pratique, nous encourageons les utilisateurs à construire aussi par eux-mêmes, voir à faire tourner leur propre ferme de construction, pour que @code{hydra.gnu.org} devienne une cible moins intéressante. Une façon d'aider est de publier les logiciels que vous construisez avec @command{guix publish} pour que les autres aient plus de choix de serveurs où télécharger les substituts (@pxref{Invoking guix publish})."
#. type: Plain text
#: doc/guix.texi:2528
@@ -5967,7 +5968,7 @@ msgstr "Le ramasse-miettes a un ensemble de @dfn{racines} connues : tout fichier
#. type: Plain text
#: doc/guix.texi:2614
msgid "Prior to running @code{guix gc --collect-garbage} to make space, it is often useful to remove old generations from user profiles; that way, old package builds referenced by those generations can be reclaimed. This is achieved by running @code{guix package --delete-generations} (@pxref{Invoking guix package})."
-msgstr "Avant de lancer @code{guix gc --collect-garbage} pour faire de la place, c'est souvent utile de supprimer les anciennes génération des profils utilisateurs ; de cette façon les anciennes constructions de paquets référencées par ces générations peuvent être glanées. Cela se fait en lançaint @code{guix package --delete-generations} (@pxref{Invoking guix package})."
+msgstr "Avant de lancer @code{guix gc --collect-garbage} pour faire de la place, c'est souvent utile de supprimer les anciennes génération des profils utilisateurs ; de cette façon les anciennes constructions de paquets référencées par ces générations peuvent être glanées. Cela se fait en lançant @code{guix package --delete-generations} (@pxref{Invoking guix package})."
#. type: Plain text
#: doc/guix.texi:2618
@@ -6662,7 +6663,7 @@ msgstr "Corollaire : si vous utilisez un canal externe et que le canal est cass
#. type: quotation
#: doc/guix.texi:3001
msgid "You've been warned! Having said this, we believe external channels are a practical way to exert your freedom to augment Guix' package collection and to share your improvements, which are basic tenets of @uref{https://www.gnu.org/philosophy/free-sw.html, free software}. Please email us at @email{guix-devel@@gnu.org} if you'd like to discuss this."
-msgstr "Vous avez été prévenus ! Maintenant, nous pensons que des canaux externes sont une manière pratique d'exercer votre liberté pour augmenter la collection de paquets de Guix et de partager vos améliorations, qui sont les principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html, logiciel libe}. Contactez-nous par courriel sur @email{guix-devel@@gnu.org} si vous souhaitez discuter à ce propos."
+msgstr "Vous avez été prévenus ! Maintenant, nous pensons que des canaux externes sont une manière pratique d'exercer votre liberté pour augmenter la collection de paquets de Guix et de partager vos améliorations, qui sont les principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html, logiciel libre}. Contactez-nous par courriel sur @email{guix-devel@@gnu.org} si vous souhaitez discuter à ce propos."
#. type: Plain text
#: doc/guix.texi:3007
@@ -7255,7 +7256,7 @@ msgstr "lot de logiciels"
#. type: Plain text
#: doc/guix.texi:3321
msgid "The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or @dfn{software bundle}: it creates a tarball or some other archive containing the binaries of the software you're interested in, and all its dependencies. The resulting archive can be used on any machine that does not have Guix, and people can run the exact same binaries as those you have with Guix. The pack itself is created in a bit-reproducible fashion, so anyone can verify that it really contains the build results that you pretend to be shipping."
-msgstr "La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de logiciels} : elle crée une archive tar ou un autre type d'archive contenunt les binaires pour le logiciel qui vous intéresse ainsi que ses dépendances. L'archive qui en résulte peut être utilisée sur toutes les machines qui n'ont pas Guix et les gens peuvent lancer exactement les mêmes binaires que ceux que vous avez avec Guix. Le pack lui-même est créé d'une manière reproductible au bit près, pour que n'importe qui puisse vérifier qu'il contient bien les résultats que vous prétendez proposer."
+msgstr "La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de logiciels} : elle crée une archive tar ou un autre type d'archive contenant les binaires pour le logiciel qui vous intéresse ainsi que ses dépendances. L'archive qui en résulte peut être utilisée sur toutes les machines qui n'ont pas Guix et les gens peuvent lancer exactement les mêmes binaires que ceux que vous avez avec Guix. Le pack lui-même est créé d'une manière reproductible au bit près, pour que n'importe qui puisse vérifier qu'il contient bien les résultats que vous prétendez proposer."
#. type: Plain text
#: doc/guix.texi:3324
@@ -8087,7 +8088,7 @@ msgstr "unquote-splicing"
#. type: itemize
#: doc/guix.texi:3855
msgid "Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us to introduce a literal list in the @code{inputs} field, while @code{,} (a comma, synonymous with @code{unquote}) allows us to insert a value in that list (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
-msgstr "De nouveau, @code{`} (un accent grave, synonyme de la fonction @code{quasiquote}) nous permet d'introduire une liste litérale dans le champ @code{inputs}, tandis que @code{,} (une virgule, synonyme de la fonction @code{unquote}) nous permet d'insérer une valeur dans cette liste (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
+msgstr "De nouveau, @code{`} (un accent grave, synonyme de la fonction @code{quasiquote}) nous permet d'introduire une liste littérale dans le champ @code{inputs}, tandis que @code{,} (une virgule, synonyme de la fonction @code{unquote}) nous permet d'insérer une valeur dans cette liste (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
#. type: itemize
#: doc/guix.texi:3859
@@ -8107,7 +8108,7 @@ msgstr "@xref{package Reference}, pour une description complète des champs poss
#. type: Plain text
#: doc/guix.texi:3877
msgid "Once a package definition is in place, the package may actually be built using the @code{guix build} command-line tool (@pxref{Invoking guix build}), troubleshooting any build failures you encounter (@pxref{Debugging Build Failures}). You can easily jump back to the package definition using the @command{guix edit} command (@pxref{Invoking guix edit}). @xref{Packaging Guidelines}, for more information on how to test package definitions, and @ref{Invoking guix lint}, for information on how to check a definition for style conformance."
-msgstr "Lorsqu'une définition de paquet est en place, le paquet peut enfin être construit avec l'outil en ligne de commande @code{guix build} (@pxref{Invoking guix build}), pour résoudre les échecs de construction que vous pourriez rencontrer (@pxref{Debugging Build Failures}). Vous pouvez aisément revenir à la définition du paquet avec la commande @command{guix edit} (@pxref{Invoking guix edit}). @xref{Packaging Guidelines}, pour plus d'inforamtions sur la manière de tester des définitions de paquets et @ref{Invoking guix lint}, pour des informations sur la manière de vérifier que la définition réspecte les conventions de style."
+msgstr "Lorsqu'une définition de paquet est en place, le paquet peut enfin être construit avec l'outil en ligne de commande @code{guix build} (@pxref{Invoking guix build}), pour résoudre les échecs de construction que vous pourriez rencontrer (@pxref{Debugging Build Failures}). Vous pouvez aisément revenir à la définition du paquet avec la commande @command{guix edit} (@pxref{Invoking guix edit}). @xref{Packaging Guidelines}, pour plus d'informations sur la manière de tester des définitions de paquets et @ref{Invoking guix lint}, pour des informations sur la manière de vérifier que la définition respecte les conventions de style."
#. type: vindex
#: doc/guix.texi:3877
@@ -8160,7 +8161,7 @@ msgstr "{Procédure Scheme} package-cross-derivation @var{store} @"
#. type: deffn
#: doc/guix.texi:3912
msgid "@var{package} @var{target} [@var{system}] Return the @code{<derivation>} object of @var{package} cross-built from @var{system} to @var{target}."
-msgstr "@var{paquet} @var{cible} [@var{système}] renvoie l'objet @code{<derivation>} duof @var{paquet} construit depuis @var{système} pour @var{cible}."
+msgstr "@var{paquet} @var{cible} [@var{système}] renvoie l'objet @code{<derivation>} du @var{paquet} construit depuis @var{système} pour @var{cible}."
#. type: deffn
#: doc/guix.texi:3917
@@ -8936,7 +8937,7 @@ msgstr "Lorsque le paquet d'origine ne fournit pas de fichier de construction An
#. type: defvr
#: doc/guix.texi:4327
msgid "The @code{#:main-class} parameter can be used with the minimal ant buildfile to specify the main class of the resulting jar. This makes the jar file executable. The @code{#:test-include} parameter can be used to specify the list of junit tests to run. It defaults to @code{(list \"**/*Test.java\")}. The @code{#:test-exclude} can be used to disable some tests. It defaults to @code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run as tests."
-msgstr "Le paramètre @code{#:main-class} peut être utilisé avec le fichier de construction minimal pour spécifier la classe principale du jar. Cela rend le fichier jar exécutable. Le paramètre @code{#:test-include} peut être utilisé pour spécifier la liste des tests junit à lancer. Il vaut par défaut @code{(list \"**/*Test.java\")}. Le paramètre @code{#:test-exclude} peut être utilisé pour désactiver certains tests. Sa valeur par défaut est @code{(list \"**/Abstract*.java\")}, parce que les classes abstraites ne peuvent pas être utilisées comme des tests."
+msgstr "Le paramètre @code{#:main-class} peut être utilisé avec le fichier de construction minimal pour spécifier la classe principale du jar. Cela rend le fichier jar exécutable. Le paramètre @code{#:test-include} peut être utilisé pour spécifier la liste des tests junits à lancer. Il vaut par défaut @code{(list \"**/*Test.java\")}. Le paramètre @code{#:test-exclude} peut être utilisé pour désactiver certains tests. Sa valeur par défaut est @code{(list \"**/Abstract*.java\")}, parce que les classes abstraites ne peuvent pas être utilisées comme des tests."
#. type: defvr
#: doc/guix.texi:4331
@@ -9282,7 +9283,7 @@ msgstr "Cette variable est exportée par @code{(guix build-system ocaml)}. Elle
#. type: defvr
#: doc/guix.texi:4596
msgid "When the package has a @file{setup.ml} file present at the top-level, it will run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and @code{ocaml setup.ml -install}. The build system will assume that this file was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will take care of setting the prefix and enabling tests if they are not disabled. You can pass configure and build flags with the @code{#:configure-flags} and @code{#:build-flags}. The @code{#:test-flags} key can be passed to change the set of flags used to enable tests. The @code{#:use-make?} key can be used to bypass this system in the build and install phases."
-msgstr "Lorsqu'un fichier @file{setup.ml} est présent dans le répertoire de plus haut niveau, elle lancera @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} et @code{ocaml setup.ml -install}. Le système de construction supposera que ces fichiers ont été générés par @uref{http://oasis.forge.ocamlcore.org/, OASIS} et prendra soin d'initialiser le préfixe et d'activer les tests s'ils ne sont pas désactivés. Vous pouvez passer des drapeaux de configuration et de consturction avec @code{#:configure-flags} et @code{#:build-flags}. La clef @code{#:test-flags} peut être passée pour changer l'ensemble des drapeaux utilisés pour activer les tests. La clef @code{#:use-make?} peut être utilisée pour outrepasser ce système dans les phases de construction et d'installation."
+msgstr "Lorsqu'un fichier @file{setup.ml} est présent dans le répertoire de plus haut niveau, elle lancera @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} et @code{ocaml setup.ml -install}. Le système de construction supposera que ces fichiers ont été générés par @uref{http://oasis.forge.ocamlcore.org/, OASIS} et prendra soin d'initialiser le préfixe et d'activer les tests s'ils ne sont pas désactivés. Vous pouvez passer des drapeaux de configuration et de construction avec @code{#:configure-flags} et @code{#:build-flags}. La clef @code{#:test-flags} peut être passée pour changer l'ensemble des drapeaux utilisés pour activer les tests. La clef @code{#:use-make?} peut être utilisée pour outrepasser ce système dans les phases de construction et d'installation."
#. type: defvr
#: doc/guix.texi:4601
@@ -9313,7 +9314,7 @@ msgstr "{Variable Scheme} python-build-system"
#. type: defvr
#: doc/guix.texi:4628
msgid "This variable is exported by @code{(guix build-system python)}. It implements the more or less standard build procedure used by Python packages, which consists in running @code{python setup.py build} and then @code{python setup.py install --prefix=/gnu/store/@dots{}}."
-msgstr "Cette variable est exportée par @code{(guix build-system python)}. Elle implémente la procédure de construction plus ou moins standarde utilisée pour les paquets Python, qui consiste à lancer @code{python setup.py build} puis @code{python setup.py install --prefix=/gnu/store/@dots{}}."
+msgstr "Cette variable est exportée par @code{(guix build-system python)}. Elle implémente la procédure de construction plus ou moins standard utilisée pour les paquets Python, qui consiste à lancer @code{python setup.py build} puis @code{python setup.py install --prefix=/gnu/store/@dots{}}."
#. type: defvr
#: doc/guix.texi:4632
@@ -9339,7 +9340,7 @@ msgstr "{Variable Scheme} perl-build-system"
#. type: defvr
#: doc/guix.texi:4657
msgid "This variable is exported by @code{(guix build-system perl)}. It implements the standard build procedure for Perl packages, which either consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed by @code{Build} and @code{Build install}; or in running @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, depending on which of @code{Build.PL} or @code{Makefile.PL} is present in the package distribution. Preference is given to the former if both @code{Build.PL} and @code{Makefile.PL} exist in the package distribution. This preference can be reversed by specifying @code{#t} for the @code{#:make-maker?} parameter."
-msgstr "Cette variable est exportée par @code{(guix build-system perl)}. Elle implémente la procédure de construction standarde des paquets Perl, qui consiste soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}}, suivi de @code{Build} et @code{Build install} ; ou à lancer @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make install}, en fonction de la présence de @code{Build.PL} ou @code{Makefile.PL} dans la distribution du paquet. Le premier a la préférence si @code{Build.PL} et @code{Makefile.PL} existent tous deux dans la distribution du paquet. Cette préférence peut être inversée en spécifiant @code{#t} pour le paramètre @code{#:make-maker?}."
+msgstr "Cette variable est exportée par @code{(guix build-system perl)}. Elle implémente la procédure de construction standard des paquets Perl, qui consiste soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}}, suivi de @code{Build} et @code{Build install} ; ou à lancer @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make install}, en fonction de la présence de @code{Build.PL} ou @code{Makefile.PL} dans la distribution du paquet. Le premier a la préférence si @code{Build.PL} et @code{Makefile.PL} existent tous deux dans la distribution du paquet. Cette préférence peut être inversée en spécifiant @code{#t} pour le paramètre @code{#:make-maker?}."
#. type: defvr
#: doc/guix.texi:4661
@@ -9798,7 +9799,7 @@ msgstr "Construit @var{derivaton} (ne liste d'objets @code{<derivation>} ou de c
#. type: Plain text
#: doc/guix.texi:5002
msgid "Note that the @code{(guix monads)} module provides a monad as well as monadic versions of the above procedures, with the goal of making it more convenient to work with code that accesses the store (@pxref{The Store Monad})."
-msgstr "Remarque que le module @code{(guix monads)} fournit une monad ainsi que des version monadiques des procédures précédentes, avec le but de rendre plus facile de travailler avec le code qui accède au dépôt (@pxref{The Store Monad})."
+msgstr "Remarque que le module @code{(guix monads)} fournit une monade ainsi que des version monadiques des procédures précédentes, avec le but de rendre plus facile de travailler avec le code qui accède au dépôt (@pxref{The Store Monad})."
#. type: i{#1}
#: doc/guix.texi:5005
@@ -10068,7 +10069,7 @@ msgstr "fonctions monadiques"
#. type: Plain text
#: doc/guix.texi:5214
msgid "This is where the @code{(guix monads)} module comes in. This module provides a framework for working with @dfn{monads}, and a particularly useful monad for our uses, the @dfn{store monad}. Monads are a construct that allows two things: associating ``context'' with values (in our case, the context is the store), and building sequences of computations (here computations include accesses to the store). Values in a monad---values that carry this additional context---are called @dfn{monadic values}; procedures that return such values are called @dfn{monadic procedures}."
-msgstr "C'est là que le module @code{(guix monads)} arrive à la rescousse. Ce module fournit un cadre pour travailler avec des @dfn{monads}, en particulier une monad très utile pour notre usage, la @dfn{monad du dépôt}. Les monads sont des constructions qui permettent deux choses : associer un « contexte » avec une valeur (dans notre cas, le contexte est le dépôt) et construire une séquence de calculs (ici les calculs comprennent des accès au dépôt). Les valeurs dans une monad — les valeurs qui contiennent ce contexte supplémentaire — sont appelées des @dfn{valeurs monadiques} ; les procédures qui renvoient ce genre de valeur sont appelées des @dfn{procédures monadiques}."
+msgstr "C'est là que le module @code{(guix monads)} arrive à la rescousse. Ce module fournit un cadre pour travailler avec des @dfn{monads}, en particulier une monade très utile pour notre usage, la @dfn{monade du dépôt}. Les monades sont des constructions qui permettent deux choses : associer un « contexte » avec une valeur (dans notre cas, le contexte est le dépôt) et construire une séquence de calculs (ici les calculs comprennent des accès au dépôt). Les valeurs dans une monade — les valeurs qui contiennent ce contexte supplémentaire — sont appelées des @dfn{valeurs monadiques} ; les procédures qui renvoient ce genre de valeur sont appelées des @dfn{procédures monadiques}."
#. type: Plain text
#: doc/guix.texi:5216
@@ -10145,7 +10146,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:5263
msgid "Calling the monadic @code{sh-symlink} has no effect. As someone once said, ``you exit a monad like you exit a building on fire: by running''. So, to exit the monad and get the desired effect, one must use @code{run-with-store}:"
-msgstr "L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet. En anglais on pourrait dire « you exit a monad like you exit a building on fire: by running »@footnote{NdT : « on sort d'une monad comme d'un immeuble en flamme, en courant ». Le jeu de mot est perdu à la traduction : courrir et lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de la monad et obtenir l'effet escompté, on doit utiliser @code{run-with-store}."
+msgstr "L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet. En anglais on pourrait dire « you exit a monad like you exit a building on fire: by running »@footnote{NdT : « on sort d'une monade comme d'un immeuble en flamme, en courant ». Le jeu de mot est perdu à la traduction : courir et lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de la monade et obtenir l'effet escompté, on doit utiliser @code{run-with-store}."
#. type: example
#: doc/guix.texi:5267
@@ -10205,7 +10206,7 @@ msgstr "Remarquez qu'on ne peut pas renvoyer de valeur non monadique dans la con
#. type: Plain text
#: doc/guix.texi:5298
msgid "The main syntactic forms to deal with monads in general are provided by the @code{(guix monads)} module and are described below."
-msgstr "Les formes syntaxiques principales pour utiliser des monads en général sont disponibles dans le module @code{(guix monads)} et sont décrites ci-dessous."
+msgstr "Les formes syntaxiques principales pour utiliser des monades en général sont disponibles dans le module @code{(guix monads)} et sont décrites ci-dessous."
#. type: deffn
#: doc/guix.texi:5299
@@ -10324,7 +10325,7 @@ msgstr "{Système Scheme} mwhen @var{condition} @var{mexp0} @var{mexp*} ..."
#. type: deffn
#: doc/guix.texi:5363
msgid "When @var{condition} is true, evaluate the sequence of monadic expressions @var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is false, return @code{*unspecified*} in the current monad. Every expression in the sequence must be a monadic expression."
-msgstr "Lorsque la @var{condition} est vraie, évalue la séquence des expressions monadiques @var{mexp0}..@var{mexp*} comme dans un @code{mbegin}. Lorsque la @var{condition} est fausse, renvoie @code{*unspecified*} dans la monad actuelle. Cahque expression dans la séquence doit être une expression monadique."
+msgstr "Lorsque la @var{condition} est vraie, évalue la séquence des expressions monadiques @var{mexp0}..@var{mexp*} comme dans un @code{mbegin}. Lorsque la @var{condition} est fausse, renvoie @code{*unspecified*} dans la monade actuelle. Chaque expression dans la séquence doit être une expression monadique."
#. type: deffn
#: doc/guix.texi:5365
@@ -10335,18 +10336,18 @@ msgstr "{Système Scheme} munless @var{condition} @var{mexp0} @var{mexp*} ..."
#. type: deffn
#: doc/guix.texi:5370
msgid "When @var{condition} is false, evaluate the sequence of monadic expressions @var{mexp0}..@var{mexp*} as in an @code{mbegin}. When @var{condition} is true, return @code{*unspecified*} in the current monad. Every expression in the sequence must be a monadic expression."
-msgstr "Lorsque la @var{condition} est fausse, évalue la séquence des expressions monadiques @var{mexp0}..@var{mexp*} comme dans un @code{mbegin}. Lorsque la @var{condition} est vraie, renvoie @code{*unspecified*} dans la monad actuelle. Cahque expression dans la séquence doit être une expression monadique."
+msgstr "Lorsque la @var{condition} est fausse, évalue la séquence des expressions monadiques @var{mexp0}..@var{mexp*} comme dans un @code{mbegin}. Lorsque la @var{condition} est vraie, renvoie @code{*unspecified*} dans la monade actuelle. Chaque expression dans la séquence doit être une expression monadique."
#. type: cindex
#: doc/guix.texi:5372
#, no-wrap
msgid "state monad"
-msgstr "monad d'état"
+msgstr "monade d'état"
#. type: Plain text
#: doc/guix.texi:5376
msgid "The @code{(guix monads)} module provides the @dfn{state monad}, which allows an additional value---the state---to be @emph{threaded} through monadic procedure calls."
-msgstr "Le module @code{(guix monads)} fournit la @dfn{monad d'état} qui permet à une valeur supplémentaire — l'état — d'être enfilée à travers les appels de procédures."
+msgstr "Le module @code{(guix monads)} fournit la @dfn{monade d'état} qui permet à une valeur supplémentaire — l'état — d'être enfilée à travers les appels de procédures."
#. type: defvr
#: doc/guix.texi:5377
@@ -10357,12 +10358,12 @@ msgstr "{Variable Scheme} %state-monad"
#. type: defvr
#: doc/guix.texi:5380
msgid "The state monad. Procedures in the state monad can access and change the state that is threaded."
-msgstr "La monad d'état. les procédure dans la monad d'état peuvent accéder et modifier l'état qui est enfilé."
+msgstr "La monade d'état. les procédure dans la monade d'état peuvent accéder et modifier l'état qui est enfilé."
#. type: defvr
#: doc/guix.texi:5384
msgid "Consider the example below. The @code{square} procedure returns a value in the state monad. It returns the square of its argument, but also increments the current state value:"
-msgstr "Considérez l'exemple ci-dessous. La procédure @code{square} renvoie une valeur dans la monad d'état. Elle renvoie le carré de son argument, mais incrémente aussi la valeur actuelle de l'état :"
+msgstr "Considérez l'exemple ci-dessous. La procédure @code{square} renvoie une valeur dans la monade d'état. Elle renvoie le carré de son argument, mais incrémente aussi la valeur actuelle de l'état :"
#. type: example
#: doc/guix.texi:5391
@@ -10457,7 +10458,7 @@ msgstr "Lance la valeur monadique @var{mval} avec @var{state} comme valeur initi
#. type: Plain text
#: doc/guix.texi:5427
msgid "The main interface to the store monad, provided by the @code{(guix store)} module, is as follows."
-msgstr "L'interface principale avec la monad du dépôt, fournit par le module @code{(guix store)}, est la suivante."
+msgstr "L'interface principale avec la monade du dépôt, fournit par le module @code{(guix store)}, est la suivante."
#. type: defvr
#: doc/guix.texi:5428
@@ -10468,12 +10469,12 @@ msgstr "{Variable Scheme} %store-monad"
#. type: defvr
#: doc/guix.texi:5430
msgid "The store monad---an alias for @var{%state-monad}."
-msgstr "La monad du dépôt — un alias pour @var{%state-monad}."
+msgstr "La monade du dépôt — un alias pour @var{%state-monad}."
#. type: defvr
#: doc/guix.texi:5434
msgid "Values in the store monad encapsulate accesses to the store. When its effect is needed, a value of the store monad must be ``evaluated'' by passing it to the @code{run-with-store} procedure (see below.)"
-msgstr "Les valeurs dans la monad du dépôt encapsulent des accès au dépôt. Lorsque son effet est requis, une valeur de la monad du dépôt doit être « évaluée » en la passant à la procédure @code{run-with-store} (voir plus bas)."
+msgstr "Les valeurs dans la monade du dépôt encapsulent des accès au dépôt. Lorsque son effet est requis, une valeur de la monade du dépôt doit être « évaluée » en la passant à la procédure @code{run-with-store} (voir plus bas)."
#. type: deffn
#: doc/guix.texi:5436
@@ -10484,7 +10485,7 @@ msgstr "{Procédure Scheme} run-with-store @var{store} @var{mval} [#:guile-for-b
#. type: deffn
#: doc/guix.texi:5439
msgid "Run @var{mval}, a monadic value in the store monad, in @var{store}, an open store connection."
-msgstr "Lance @var{mval}, une valeur monadique dans la monad du dépôt, dans @var{store}, une connexion ouvert au dépôt."
+msgstr "Lance @var{mval}, une valeur monadique dans la monade du dépôt, dans @var{store}, une connexion ouvert au dépôt."
#. type: deffn
#: doc/guix.texi:5441
@@ -10632,7 +10633,7 @@ msgstr "Pour décrire une dérivation et ses actions de construction, on a typiq
#. type: Plain text
#: doc/guix.texi:5541
msgid "The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of S-expressions adapted to build expressions. G-expressions, or @dfn{gexps}, consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, and @code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and @code{#$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and @code{unquote-splicing}, respectively (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}). However, there are major differences:"
-msgstr "Le module @code{(guix gexp)} implémente les @dfn{G-expressions}, une forme de S-expression adaptée aux expressions de construction. Les G-expression, ou @dfn{gexps}, consistent en gros en trois formes syntaxiques : @code{gexp}, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement : @code{#~}, @code{#$} et @code{#$@@}), qui sont comparable à @code{quasiquote}, @code{unquote} ett @code{unquote-splicing} respectivement (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}). Cependant il y a des différences majeures :"
+msgstr "Le module @code{(guix gexp)} implémente les @dfn{G-expressions}, une forme de S-expression adaptée aux expressions de construction. Les G-expression, ou @dfn{gexps}, consistent en gros en trois formes syntaxiques : @code{gexp}, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement : @code{#~}, @code{#$} et @code{#$@@}), qui sont comparable à @code{quasiquote}, @code{unquote} et @code{unquote-splicing} respectivement (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}). Cependant il y a des différences majeures :"
#. type: itemize
#: doc/guix.texi:5546
@@ -10647,7 +10648,7 @@ msgstr "Lorsqu'un objet de haut-niveau comme un paquet ou une dérivation est un
#. type: itemize
#: doc/guix.texi:5556
msgid "Gexps carry information about the packages or derivations they refer to, and these dependencies are automatically added as inputs to the build processes that use them."
-msgstr "Les gexps transportent des informatinos sur les paquets ou les dérivations auxquels elles se réfèrent, et ces dépendances sont automatiquement ajoutées comme des entrées du processus de construction qui les utilise."
+msgstr "Les gexps transportent des informations sur les paquets ou les dérivations auxquels elles se réfèrent, et ces dépendances sont automatiquement ajoutées comme des entrées du processus de construction qui les utilise."
#. type: cindex
#: doc/guix.texi:5558 doc/guix.texi:6062
@@ -10798,7 +10799,7 @@ msgstr "source-module-closure"
#. type: Plain text
#: doc/guix.texi:5650
msgid "Usually you want the @emph{closure} of the module to be imported---i.e., the module itself and all the modules it depends on---rather than just the module; failing to do that, attempts to use the module will fail because of missing dependent modules. The @code{source-module-closure} procedure computes the closure of a module by looking at its source file headers, which comes in handy in this case:"
-msgstr "Typiquement, vous voudriez que la @emph{closure} complète du mondule soit importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend — plutôt que seulement le module ; sinon, une tentative de chargement du module échouera à cause des modules dépendants manquants. La procédure @code{source-module-closure} calcule la closure d'un module en cherchant dans ses en-têtes sources, ce qui est pratique dans ce cas :"
+msgstr "Typiquement, vous voudriez que la @emph{closure} complète du module soit importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend — plutôt que seulement le module ; sinon, une tentative de chargement du module échouera à cause des modules dépendants manquants. La procédure @code{source-module-closure} calcule la closure d'un module en cherchant dans ses en-têtes sources, ce qui est pratique dans ce cas :"
#. type: example
#: doc/guix.texi:5653
@@ -11050,7 +11051,7 @@ msgstr "Marque les gexps définies dans @var{body}@dots{} comme requérant @var{
#. type: deffn
#: doc/guix.texi:5747
msgid "Each item in @var{modules} can be the name of a module, such as @code{(guix build utils)}, or it can be a module name, followed by an arrow, followed by a file-like object:"
-msgstr "Chaque élément dans @var{module} peut être le nom d'un module, comme @code{(guix build utils)} ou le nom d'un module suivi d'une flêche, suivie d'un objet simili-fichier :"
+msgstr "Chaque élément dans @var{module} peut être le nom d'un module, comme @code{(guix build utils)} ou le nom d'un module suivi d'une flèche, suivie d'un objet simili-fichier :"
#. type: example
#: doc/guix.texi:5753
@@ -12015,7 +12016,7 @@ msgstr "De même, lorsque @var{version} est omis, la chaîne de version est inf
#. type: table
#: doc/guix.texi:6391
msgid "This option allows users to try out versions of packages other than the one provided by the distribution. The example below downloads @file{ed-1.7.tar.gz} from a GNU mirror and uses that as the source for the @code{ed} package:"
-msgstr "Cette option permet aux utilisateurs d'essayer des version des paquets différentes de celles fournies par la distribution. L'exemple ci-dessous télécharge @file{ed-1.7.tar.g} depuis un mirroir GNU et l'utilise comme source pour le paquet @code{ed} :"
+msgstr "Cette option permet aux utilisateurs d'essayer des version des paquets différentes de celles fournies par la distribution. L'exemple ci-dessous télécharge @file{ed-1.7.tar.g} depuis un miroir GNU et l'utilise comme source pour le paquet @code{ed} :"
#. type: example
#: doc/guix.texi:6394
@@ -12181,7 +12182,7 @@ msgstr "-S"
#. type: table
#: doc/guix.texi:6502
msgid "Build the source derivations of the packages, rather than the packages themselves."
-msgstr "Construit les dérivation source des paquets, plutôt que des paquets eux-même."
+msgstr "Construit les dérivation source des paquets, plutôt que des paquets eux-mêmes."
#. type: table
#: doc/guix.texi:6506
@@ -12589,7 +12590,7 @@ msgstr "définition de paquets, modification"
#. type: Plain text
#: doc/guix.texi:6755
msgid "So many packages, so many source files! The @command{guix edit} command facilitates the life of users and packagers by pointing their editor at the source file containing the definition of the specified packages. For instance:"
-msgstr "Tant de paquets, tant de fichiers source ! La commande @command{guix edit} facilite la vie des utilisateurs et des packagers en plaçant leur éditeur sur le fichier source qui contient la définition des paquets spécifiés. Par exemple :"
+msgstr "Tant de paquets, tant de fichiers source ! La commande @command{guix edit} facilite la vie des utilisateurs et des empaqueteurs en plaçant leur éditeur sur le fichier source qui contient la définition des paquets spécifiés. Par exemple :"
#. type: example
#: doc/guix.texi:6758
@@ -12600,7 +12601,7 @@ msgstr "guix edit gcc@@4.9 vim\n"
#. type: Plain text
#: doc/guix.texi:6764
msgid "launches the program specified in the @code{VISUAL} or in the @code{EDITOR} environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim."
-msgstr "lance le programme spécifié dans la variable d'environnement @code{VISUAL} ou @code{EDITOR} pour visionner la recette de GCC@tie{}4.9.3 et cele de Vim."
+msgstr "lance le programme spécifié dans la variable d'environnement @code{VISUAL} ou @code{EDITOR} pour visionner la recette de GCC@tie{}4.9.3 et celle de Vim."
#. type: Plain text
#: doc/guix.texi:6770
@@ -12633,7 +12634,7 @@ msgstr "En écrivant des définitions de paquets, les développeurs ont généra
#. type: Plain text
#: doc/guix.texi:6790
msgid "The fact that the downloaded file is added to the store saves bandwidth: when the developer eventually tries to build the newly defined package with @command{guix build}, the source tarball will not have to be downloaded again because it is already in the store. It is also a convenient way to temporarily stash files, which may be deleted eventually (@pxref{Invoking guix gc})."
-msgstr "Le fait que le fichier téléchargé soit ajouté au dépôt préserve la bande passante : losque les développeurs finissent par construire le paquet nouvellement défini avec @command{guix build}, l'archive des sources n'aura pas besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans le dépôt. C'est aussi une manière pratique de garder des fichiers temporairement, qui pourront ensuite être supprimés (@pxref{Invoking guix gc})."
+msgstr "Le fait que le fichier téléchargé soit ajouté au dépôt préserve la bande passante : lorsque les développeurs finissent par construire le paquet nouvellement défini avec @command{guix build}, l'archive des sources n'aura pas besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans le dépôt. C'est aussi une manière pratique de garder des fichiers temporairement, qui pourront ensuite être supprimés (@pxref{Invoking guix gc})."
#. type: Plain text
#: doc/guix.texi:6798
@@ -12907,7 +12908,7 @@ msgstr "gem"
#. type: table
#: doc/guix.texi:6974
msgid "Import metadata from @uref{https://rubygems.org/, RubyGems}@footnote{This functionality requires Guile-JSON to be installed. @xref{Requirements}.}. Information is taken from the JSON-formatted description available at @code{rubygems.org} and includes most relevant information, including runtime dependencies. There are some caveats, however. The metadata doesn't distinguish between synopses and descriptions, so the same string is used for both fields. Additionally, the details of non-Ruby dependencies required to build native extensions is unavailable and left as an exercise to the packager."
-msgstr "Importe des métadonnées de @uref{https://rubygems.org/, RubyGems}@footnote{Cette fonctionnalité requiert l'installation de Guile-JSON. @xref{Requirements}.}. Les informations sont récupérées au format JSON disponible sur @code{rubygems.org} et inclut les informations les plus utiles, comme les dépendances à l'exécution. Il y a des pièges cependant. Les métadonnées ne distinguent pas synopsis et description, donc la même chaîne est utilisée pour les deux champs. En plus, les détails des dépendances non Ruby requises pour construire des extensions natives sont indisponibles et laissé en exercice au packager."
+msgstr "Importe des métadonnées de @uref{https://rubygems.org/, RubyGems}@footnote{Cette fonctionnalité requiert l'installation de Guile-JSON. @xref{Requirements}.}. Les informations sont récupérées au format JSON disponible sur @code{rubygems.org} et inclut les informations les plus utiles, comme les dépendances à l'exécution. Il y a des pièges cependant. Les métadonnées ne distinguent pas synopsis et description, donc la même chaîne est utilisée pour les deux champs. En plus, les détails des dépendances non Ruby requises pour construire des extensions natives sont indisponibles et laissé en exercice à l'empaqueteur."
#. type: table
#: doc/guix.texi:6976
@@ -13555,7 +13556,7 @@ msgstr "Choisi tous les paquets dans @var{subset}, entre @code{core} et @code{no
#. type: table
#: doc/guix.texi:7388
msgid "The @code{core} subset refers to all the packages at the core of the distribution---i.e., packages that are used to build ``everything else''. This includes GCC, libc, Binutils, Bash, etc. Usually, changing one of these packages in the distribution entails a rebuild of all the others. Thus, such updates are an inconvenience to users in terms of build time or bandwidth used to achieve the upgrade."
-msgstr "Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de la distribution — c.-à-d.@: les paquets qui sont utilisés pour construire « tout le rest ». Cela comprend GCC, libc, Binutils, Bash, etc. Habituellement, changer l'un de ces paquets dans la distribution implique de reconstruire tous les autres. Ainsi, ces mises à jour sont une nuisance pour les utilisateurs, en terme de temps de compilation et de bande passante utilisés pour effectuer la mise à jour."
+msgstr "Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de la distribution — c.-à-d.@: les paquets qui sont utilisés pour construire « tout le reste ». Cela comprend GCC, libc, Binutils, Bash, etc. Habituellement, changer l'un de ces paquets dans la distribution implique de reconstruire tous les autres. Ainsi, ces mises à jour sont une nuisance pour les utilisateurs, en terme de temps de compilation et de bande passante utilisés pour effectuer la mise à jour."
#. type: table
#: doc/guix.texi:7392
@@ -13970,7 +13971,7 @@ msgstr "source-file-name"
#. type: table
#: doc/guix.texi:7598
msgid "Probe @code{home-page} and @code{source} URLs and report those that are invalid. Suggest a @code{mirror://} URL when applicable. Check that the source file name is meaningful, e.g. is not just a version number or ``git-checkout'', without a declared @code{file-name} (@pxref{origin Reference})."
-msgstr "Sonde les URL @code{home-page} et @code{source} et rapporte celles qui sont invalides. Suggère une URL en @code{mirror://} lorsque c'est possible. Vérifie que le nom du fichier source a un sens, p.@: ex.@: qu'il ne s'agisse pas juste d'un numéro de version ou « git-checkou », sans avoir déclaré un @code{file-name} (@pxref{origin Reference})."
+msgstr "Sonde les URL @code{home-page} et @code{source} et rapporte celles qui sont invalides. Suggère une URL en @code{mirror://} lorsque c'est possible. Vérifie que le nom du fichier source a un sens, p.@: ex.@: qu'il ne s'agisse pas juste d'un numéro de version ou « git-checkout », sans avoir déclaré un @code{file-name} (@pxref{origin Reference})."
#. type: item
#: doc/guix.texi:7599
@@ -14180,7 +14181,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:7715
msgid "The store items listed here constitute the @dfn{transitive closure} of Coreutils---i.e., Coreutils and all its dependencies, recursively---as would be returned by:"
-msgstr "Les éléments du dépôt listés ici constituent la @dfn{cloture transitive} de Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, récursivement — comme ce qui serait renvoyé par :"
+msgstr "Les éléments du dépôt listés ici constituent la @dfn{clôture transitive} de Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, récursivement — comme ce qui serait renvoyé par :"
#. type: example
#: doc/guix.texi:7718
@@ -14191,12 +14192,12 @@ msgstr "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"
#. type: Plain text
#: doc/guix.texi:7726
msgid "Here the output shows three columns next to store items. The first column, labeled ``total'', shows the size in mebibytes (MiB) of the closure of the store item---that is, its own size plus the size of all its dependencies. The next column, labeled ``self'', shows the size of the item itself. The last column shows the ratio of the size of the item itself to the space occupied by all the items listed here."
-msgstr "Ici, la sortie possède trois colonnes à côté de chaque élément du dépôt. La première colonne, nommée « total », montre la taille en mébioctet (Mio) de la cloture de l'élément du dépôt — c'est-à-dire sa propre taille plus la taille de ses dépendances. La colonne suivante, nommée « lui-même », montre la taille de l'élément lui-même. La dernière colonne montre le ration de la taille de l'élément lui-même par rapport à celle de tous les éléments montrés."
+msgstr "Ici, la sortie possède trois colonnes à côté de chaque élément du dépôt. La première colonne, nommée « total », montre la taille en mébioctet (Mio) de la clôture de l'élément du dépôt — c'est-à-dire sa propre taille plus la taille de ses dépendances. La colonne suivante, nommée « lui-même », montre la taille de l'élément lui-même. La dernière colonne montre le ration de la taille de l'élément lui-même par rapport à celle de tous les éléments montrés."
#. type: Plain text
#: doc/guix.texi:7732
msgid "In this example, we see that the closure of Coreutils weighs in at 79@tie{}MiB, most of which is taken by libc and GCC's run-time support libraries. (That libc and GCC's libraries represent a large fraction of the closure is not a problem @i{per se} because they are always available on the system anyway.)"
-msgstr "Dans cet exemple, on voit que la cloture de Coreutils pèse 79@tie{}Mio, dont la plupart est dû à la libc et aux bibliothèques à l'exécution de GCC (ce n'est pas un problème en soit que la libc et les bibliothèques de GCC représentent une grande part de la cloture parce qu'elles sont toujours disponibles sur le système de toute façon)."
+msgstr "Dans cet exemple, on voit que la clôture de Coreutils pèse 79@tie{}Mio, dont la plupart est dû à la libc et aux bibliothèques à l'exécution de GCC (ce n'est pas un problème en soit que la libc et les bibliothèques de GCC représentent une grande part de la clôture parce qu'elles sont toujours disponibles sur le système de toute façon)."
#. type: Plain text
#: doc/guix.texi:7741
@@ -14238,7 +14239,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:7764
msgid "In this example we see that the combination of the four packages takes 102.3@tie{}MiB in total, which is much less than the sum of each closure since they have a lot of dependencies in common."
-msgstr "Dans cet exemple on voit que la combinaison des quatre paquets prent 102.3@tie{}Mio en tout, ce qui est bien moins que la somme des clotures puisqu'ils ont beaucoup de dépendances en commun."
+msgstr "Dans cet exemple on voit que la combinaison des quatre paquets prend 102.3@tie{}Mio en tout, ce qui est bien moins que la somme des clôtures puisqu'ils ont beaucoup de dépendances en commun."
#. type: Plain text
#: doc/guix.texi:7766
@@ -14259,7 +14260,7 @@ msgstr "--sort=@var{clef}"
#. type: table
#: doc/guix.texi:7775
msgid "Sort lines according to @var{key}, one of the following options:"
-msgstr "Trie les lignes en fonction de la @var{clef}, l'une des optinos suivantes :"
+msgstr "Trie les lignes en fonction de la @var{clef}, l'une des options suivantes :"
#. type: item
#: doc/guix.texi:7777
@@ -14275,7 +14276,7 @@ msgstr "la taille de chaque élément (par défaut) ;"
#. type: table
#: doc/guix.texi:7781
msgid "the total size of the item's closure."
-msgstr "la taille totale de la cloture de l'élémente."
+msgstr "la taille totale de la clôture de l'élément."
#. type: item
#: doc/guix.texi:7783
@@ -14971,7 +14972,7 @@ msgstr "conteneur"
#. type: table
#: doc/guix.texi:8225
msgid "Run @var{command} within an isolated container. The current working directory outside the container is mapped inside the container. Additionally, unless overridden with @code{--user}, a dummy home directory is created that matches the current user's home directory, and @file{/etc/passwd} is configured accordingly. The spawned process runs as the current user outside the container, but has root privileges in the context of the container."
-msgstr "Lance @var{commande} dans un conteneur isolé. Le répertoire de travail actuel en dehors du conteneur est monté dans le conteneur. En plus, à moins de le changer avec @code{--user}, un répertoire personnel fictif est créé pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwod} est configuré en conséquence. Le processus est lancé en tant que l'utilisateur actuel en dehors du conteneur, mais a les privilèges root dans le contexte du conteneur."
+msgstr "Lance @var{commande} dans un conteneur isolé. Le répertoire de travail actuel en dehors du conteneur est monté dans le conteneur. En plus, à moins de le changer avec @code{--user}, un répertoire personnel fictif est créé pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwd} est configuré en conséquence. Le processus est lancé en tant que l'utilisateur actuel en dehors du conteneur, mais a les privilèges root dans le contexte du conteneur."
#. type: item
#: doc/guix.texi:8226
@@ -15027,7 +15028,7 @@ msgstr "-u @var{utilisateur}"
#. type: table
#: doc/guix.texi:8255
msgid "For containers, use the username @var{user} in place of the current user. The generated @file{/etc/passwd} entry within the container will contain the name @var{user}; the home directory will be @file{/home/USER}; and no user GECOS data will be copied. @var{user} need not exist on the system."
-msgstr "Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à la place de l'utilisateur actuel. L'entrée générée dans @file{/etc/passwod} dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire personnel sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera copiée. @var{utilisateur} n'a pas besoin d'exister sur le système."
+msgstr "Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à la place de l'utilisateur actuel. L'entrée générée dans @file{/etc/passwd} dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire personnel sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera copiée. @var{utilisateur} n'a pas besoin d'exister sur le système."
#. type: table
#: doc/guix.texi:8260
@@ -15086,7 +15087,7 @@ msgstr "--share=@var{source}[=@var{cible}]"
#. type: table
#: doc/guix.texi:8292
msgid "For containers, share the file system @var{source} from the host system as the writable file system @var{target} within the container. If @var{target} is not specified, @var{source} is used as the target mount point in the container."
-msgstr "Pour les conteneurs, partage le système de fichiers @var{soruce} du système hôte comme un système de fichiers en lecture-écriture @var{cible} dans le conteneur. Si @var{cible} n'est pas spécifiée, @var{source} est utilisée comme point de montage dans le conteneur."
+msgstr "Pour les conteneurs, partage le système de fichiers @var{source} du système hôte comme un système de fichiers en lecture-écriture @var{cible} dans le conteneur. Si @var{cible} n'est pas spécifiée, @var{source} est utilisée comme point de montage dans le conteneur."
#. type: table
#: doc/guix.texi:8296
@@ -15172,7 +15173,7 @@ msgstr "Par défaut, @command{guix publish} compresse les archives à la volée
#. type: Plain text
#: doc/guix.texi:8365
msgid "As a bonus, @command{guix publish} also serves as a content-addressed mirror for source files referenced in @code{origin} records (@pxref{origin Reference}). For instance, assuming @command{guix publish} is running on @code{example.org}, the following URL returns the raw @file{hello-2.10.tar.gz} file with the given SHA256 hash (represented in @code{nix-base32} format, @pxref{Invoking guix hash}):"
-msgstr "En bonus, @command{guix publish} sert aussi un miroir adressé par le contenu des fichiers source référencées dans les enregistrements @code{origin} (@pxref{origin Reference}). Par exemple, en supposant que @command{guix publish} tourne sur @code{example.org}, l'URL suivante renverra le fichie brut @file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le format @code{nix-base32}, @pxref{Invoking guix hash}) :"
+msgstr "En bonus, @command{guix publish} sert aussi un miroir adressé par le contenu des fichiers source référencées dans les enregistrements @code{origin} (@pxref{origin Reference}). Par exemple, en supposant que @command{guix publish} tourne sur @code{example.org}, l'URL suivante renverra le fichier brut @file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le format @code{nix-base32}, @pxref{Invoking guix hash}) :"
#. type: example
#: doc/guix.texi:8368
@@ -15205,7 +15206,7 @@ msgstr "http://example.org/log/gwspk@dots{}-guile-2.2.3\n"
#. type: Plain text
#: doc/guix.texi:8388
msgid "When @command{guix-daemon} is configured to save compressed build logs, as is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs return the compressed log as-is, with an appropriate @code{Content-Type} and/or @code{Content-Encoding} header. We recommend running @command{guix-daemon} with @code{--log-compression=gzip} since Web browsers can automatically decompress it, which is not the case with bzip2 compression."
-msgstr "Lorsque @command{guix-daemon} est configuré pour sauvegarder les journaux de construction compressés, comme c'est le cas par défaut (@pxref{Invoking guix-daemon}), les URL @code{/log} renvoient le journal compressé tel-quel, avec un en-tête @code{Content-Type} ou @code{Content-Encoding} approprié. Nous recommandons de lancer @command{guix-daemon} avec @code{--log-compression=gzip} pace que les navigateurs web les décompressent automatiquement, ce qui n'est pas le cas avec la compression bzip2."
+msgstr "Lorsque @command{guix-daemon} est configuré pour sauvegarder les journaux de construction compressés, comme c'est le cas par défaut (@pxref{Invoking guix-daemon}), les URL @code{/log} renvoient le journal compressé tel-quel, avec un en-tête @code{Content-Type} ou @code{Content-Encoding} approprié. Nous recommandons de lancer @command{guix-daemon} avec @code{--log-compression=gzip} parce que les navigateurs web les décompressent automatiquement, ce qui n'est pas le cas avec la compression bzip2."
#. type: item
#: doc/guix.texi:8392
@@ -15282,7 +15283,7 @@ msgstr "Cache les archives et les métadonnées (les URL @code{.narinfo}) dans @
#. type: table
#: doc/guix.texi:8433
msgid "When this option is omitted, archives and meta-data are created on-the-fly. This can reduce the available bandwidth, especially when compression is enabled, since this may become CPU-bound. Another drawback of the default mode is that the length of archives is not known in advance, so @command{guix publish} does not add a @code{Content-Length} HTTP header to its responses, which in turn prevents clients from knowing the amount of data being downloaded."
-msgstr "Lorsque cette option est omise, les archives et les métadonnées sont crées à la volée. Cela réduit la bande passante disponible, surtout quand la compression est activée puisqu'elle pourrait être limitée par le CPU. Un autre inconvénient au mode par défaut est que la taille des archives n'est pas connue à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête @code{Content-Length} à ses résponses, ce qui empêche les clients de savoir la quantité de données à télécharger."
+msgstr "Lorsque cette option est omise, les archives et les métadonnées sont crées à la volée. Cela réduit la bande passante disponible, surtout quand la compression est activée puisqu'elle pourrait être limitée par le CPU. Un autre inconvénient au mode par défaut est que la taille des archives n'est pas connue à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête @code{Content-Length} à ses réponses, ce qui empêche les clients de savoir la quantité de données à télécharger."
#. type: table
#: doc/guix.texi:8441
@@ -15797,7 +15798,7 @@ msgstr "guix container exec @var{pid} @var{programme} @var{arguments}@dots{}\n"
#. type: table
#: doc/guix.texi:8766
msgid "@var{pid} specifies the process ID of the running container. @var{program} specifies an executable file name within the root file system of the container. @var{arguments} are the additional options that will be passed to @var{program}."
-msgstr "@var{pid} spécifie le PID du conteneur lancé. @var{programme} spécifie le nom du fichier exécutable dans le système de fichiers racine du conteneur. @var{arguments} sont les options supplémentairesà passer à @var{programme}."
+msgstr "@var{pid} spécifie le PID du conteneur lancé. @var{programme} spécifie le nom du fichier exécutable dans le système de fichiers racine du conteneur. @var{arguments} sont les options supplémentaires à passer à @var{programme}."
#. type: table
#: doc/guix.texi:8770
@@ -15842,7 +15843,7 @@ msgstr "disponibilité des substituts"
#: doc/guix.texi:8793
#, no-wrap
msgid "substitute availability"
-msgstr "substuts, disponibilité"
+msgstr "substituts, disponibilité"
#. type: cindex
#: doc/guix.texi:8794
@@ -16498,7 +16499,7 @@ msgstr ""
#. type: table
#: doc/guix.texi:9298
msgid "Start the wireless service and run it in the background with the following command (substitute @var{interface} with the name of the network interface you want to use):"
-msgstr "Démarrez le service sans-file et lancez-le en tache de fond avec la commande suivante (en remplaçant @var{interface} par le nom de l'interface réseau que vous voulez utiliser) :"
+msgstr "Démarrez le service sans-fil et lancez-le en tache de fond avec la commande suivante (en remplaçant @var{interface} par le nom de l'interface réseau que vous voulez utiliser) :"
#. type: example
#: doc/guix.texi:9301
@@ -17363,7 +17364,7 @@ msgstr "La sortie de la dérivation est un répertoire qui se réfère à tous l
#. type: Plain text
#: doc/guix.texi:9913
msgid "This procedure is provided by the @code{(gnu system)} module. Along with @code{(gnu services)} (@pxref{Services}), this module contains the guts of GuixSD. Make sure to visit it!"
-msgstr "Cette procédure est fournie par le module @code{(gnu system)}. Avec @code{(gnu srevices)} (@pxref{Services}), ce module contient les entrailles de GuixSD. Ouvrez-le un jour !"
+msgstr "Cette procédure est fournie par le module @code{(gnu system)}. Avec @code{(gnu services)} (@pxref{Services}), ce module contient les entrailles de GuixSD. Ouvrez-le un jour !"
#. type: subsection
#: doc/guix.texi:9916
@@ -18744,7 +18745,7 @@ msgstr "Les sections suivantes documentent les services disponibles, en commenç
#. type: Plain text
#: doc/guix.texi:10714
msgid "The @code{(gnu services base)} module provides definitions for the basic services that one expects from the system. The services exported by this module are listed below."
-msgstr "Le module @code{(gnu services base)} fournit des définitions de services poru les services de base qu'on peut attendre du système. Les services exportés par ce module sort listés ci-dessous."
+msgstr "Le module @code{(gnu services base)} fournit des définitions de services pour les services de base qu'on peut attendre du système. Les services exportés par ce module sort listés ci-dessous."
#. type: defvr
#: doc/guix.texi:10715
@@ -19526,7 +19527,7 @@ msgstr "nscd, invalidation du cache"
#. type: table
#: doc/guix.texi:11066
msgid "This invalidate the given cache. For instance, running:"
-msgstr "Cela invalide le cache dnné. Par exemple, en laçant :"
+msgstr "Cela invalide le cache donné. Par exemple, en laçant :"
#. type: example
#: doc/guix.texi:11069
@@ -19592,7 +19593,7 @@ msgstr "@code{glibc} (par défaut : @var{glibc})"
#. type: table
#: doc/guix.texi:11100
msgid "Package object denoting the GNU C Library providing the @command{nscd} command."
-msgstr "Objet de paquet qui dénote la Biblothèque C de GNU qui fournit la commande @command{nscd}."
+msgstr "Objet de paquet qui dénote la Bibliothèque C de GNU qui fournit la commande @command{nscd}."
#. type: item
#: doc/guix.texi:11101
@@ -19998,7 +19999,7 @@ msgstr "{Procédure Scheme} udev-rule [@var{file-name} @var{contents}]"
#. type: deffn
#: doc/guix.texi:11266
msgid "Return a udev-rule file named @var{file-name} containing the rules defined by the @var{contents} literal."
-msgstr "Renvoie un fichier de règle udev nommé @var{file-name} contenant les règles définie par le litéral @var{contents}."
+msgstr "Renvoie un fichier de règle udev nommé @var{file-name} contenant les règles définie par le littéral @var{contents}."
#. type: deffn
#: doc/guix.texi:11270
@@ -20114,7 +20115,7 @@ msgstr "En plus, les définitions des paquets de Guix peuvent être inclus dans
#. type: deffn
#: doc/guix.texi:11333
msgid "The following example shows how to use the @var{android-udev-rules} package so that the Android tool @command{adb} can detect devices without root privileges. It also details how to create the @code{adbusers} group, which is required for the proper functioning of the rules defined within the @var{android-udev-rules} package. To create such a group, we must define it both as part of the @var{supplementary-groups} of our @var{user-account} declaration, as well as in the @var{groups} field of the @var{operating-system} record."
-msgstr "L'exemple suivant montre comment utiliser le paquet @var{android-udev-rules} pour que l'outil Android @command{adb} puisse détecter les appareils sans privilège root. Il détaille aussi comment créer le grope @code{adbusers}, requis pour le bon fonctionnement des règles définies dans le paquet @var{android-udev-rules}. Pour créer ce groupe, on doit le définir dans les @var{supplementary-groups} de la déclaration @var{user-account} ainsi que dans le champ @var{groups} de l'enregistrement @var{operating-system}."
+msgstr "L'exemple suivant montre comment utiliser le paquet @var{android-udev-rules} pour que l'outil Android @command{adb} puisse détecter les appareils sans privilège root. Il détaille aussi comment créer le groupe @code{adbusers}, requis pour le bon fonctionnement des règles définies dans le paquet @var{android-udev-rules}. Pour créer ce groupe, on doit le définir dans les @var{supplementary-groups} de la déclaration @var{user-account} ainsi que dans le champ @var{groups} de l'enregistrement @var{operating-system}."
#. type: example
#: doc/guix.texi:11338
@@ -20540,12 +20541,12 @@ msgstr "tâches planifiées"
#. type: Plain text
#: doc/guix.texi:11530
msgid "The @code{(gnu services mcron)} module provides an interface to GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix @command{cron} daemon; the main difference is that it is implemented in Guile Scheme, which provides a lot of flexibility when specifying the scheduling of jobs and their actions."
-msgstr "Le module @code{(gnu services mcron)} fournit une interface pour GNU@tie{}mcron, un démon qui lance des tâches planifiées (@pxref{Top,,, mcron, GNU@tie{}mcron}). GNU@tie{}mcron est similaire au démon Unix traditionel @command{cron} ; la principale différence est qu'il est implémenté en Guile Scheme, qui fournit beaucoup de flexibilité lors de la spécification de la planification des tâches et de leurs actions."
+msgstr "Le module @code{(gnu services mcron)} fournit une interface pour GNU@tie{}mcron, un démon qui lance des tâches planifiées (@pxref{Top,,, mcron, GNU@tie{}mcron}). GNU@tie{}mcron est similaire au démon Unix traditionnel @command{cron} ; la principale différence est qu'il est implémenté en Guile Scheme, qui fournit beaucoup de flexibilité lors de la spécification de la planification des tâches et de leurs actions."
#. type: Plain text
#: doc/guix.texi:11538
msgid "The example below defines an operating system that runs the @command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) and the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce job definitions that are passed to mcron (@pxref{G-Expressions})."
-msgstr "L'exemple en dessous définit un système d'exploitation qu lance les commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding Files}) et @command{guix gc} (@pxref{Invoking guix gc}) tous les jours, ainsi que la commande @command{mkid} en tant qu'utilisateur non privilégié (@pxref{mkid invocation,,, idutils, ID Database Utilities}). Il utilise des gexps pour introduire des définitions de tâches qui sont passées à mcron (@pxref{G-Expressions})."
+msgstr "L'exemple en dessous définit un système d'exploitation qui lance les commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding Files}) et @command{guix gc} (@pxref{Invoking guix gc}) tous les jours, ainsi que la commande @command{mkid} en tant qu'utilisateur non privilégié (@pxref{mkid invocation,,, idutils, ID Database Utilities}). Il utilise des gexps pour introduire des définitions de tâches qui sont passées à mcron (@pxref{G-Expressions})."
#. type: lisp
#: doc/guix.texi:11542
@@ -21155,7 +21156,7 @@ msgstr "{Procédure Scheme} wicd-service [#:wicd @var{wicd}]"
#. type: deffn
#: doc/guix.texi:11823
msgid "Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network management daemon that aims to simplify wired and wireless networking."
-msgstr "Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un démon de gestion réseau qui cherche à simplifier la configuration des résaux filaires et sans fil."
+msgstr "Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un démon de gestion réseau qui cherche à simplifier la configuration des réseaux filaires et sans fil."
#. type: deffn
#: doc/guix.texi:11828
@@ -21800,12 +21801,12 @@ msgstr "{Variable Scheme} inetd-service-type"
#. type: deffn
#: doc/guix.texi:12100
msgid "This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, GNU Inetutils}) daemon. @command{inetd} listens for connections on internet sockets, and lazily starts the specified server program when a connection is made on one of these sockets."
-msgstr "Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,, inetutils, GNU Inetutils}). @command{inetd} écoute des connexionssur des sockets internet et démarre le programme spécifié uniquement lorsqu'une connexion arrive sur l'un de ces sockets."
+msgstr "Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,, inetutils, GNU Inetutils}). @command{inetd} écoute des connexions sur des sockets internet et démarre le programme spécifié uniquement lorsqu'une connexion arrive sur l'un de ces sockets."
#. type: deffn
#: doc/guix.texi:12106
msgid "The value of this service is an @code{inetd-configuration} object. The following example configures the @command{inetd} daemon to provide the built-in @command{echo} service, as well as an smtp service which forwards smtp traffic over ssh to a server @code{smtp-server} behind a gateway @code{hostname}:"
-msgstr "La valeur de ce service est un objet @code{inetd-configuration}. L'exemple suivant configure le démon @command{inetd} pour qu'il fournisse le service @command{echo}, ainsi qu'in service smtp qui transfère le trafic smtp par ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname} :"
+msgstr "La valeur de ce service est un objet @code{inetd-configuration}. L'exemple suivant configure le démon @command{inetd} pour qu'il fournisse le service @command{echo}, ainsi qu'un service smtp qui transfère le trafic smtp par ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname} :"
#. type: example
#: doc/guix.texi:12129
@@ -22729,7 +22730,7 @@ msgstr "Lance le @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,démon SSH
#. type: deffn
#: doc/guix.texi:12536
msgid "For example, to specify a Dropbear service listening on port 1234, add this call to the operating system's @code{services} field:"
-msgstr "Par exemple, pour spécifier un service Dropbear qui écoute sur le port 1234, ajoutez cet appel au champ @code{services} d evotre système d'exploitation :"
+msgstr "Par exemple, pour spécifier un service Dropbear qui écoute sur le port 1234, ajoutez cet appel au champ @code{services} de votre système d'exploitation :"
#. type: example
#: doc/guix.texi:12540
@@ -23686,7 +23687,7 @@ msgstr "La configuration de CUPS contrôle les paramètres de base de votre inst
#. type: Plain text
#: doc/guix.texi:12958
msgid "Suppose you want to enable the Web interface of CUPS and also add support for Epson printers @i{via} the @code{escpr} package and for HP printers @i{via} the @code{hplip-minimal} package. You can do that directly, like this (you need to use the @code{(gnu packages cups)} module):"
-msgstr "Supposons que vous souhaitiez activer l'interface Web de CUPS et ajouter le support pour les imprimantes Epson via le paquet @code{escpr} et our les imprimantes HP via le paquet @code{hplip-minimal}. Vous pouvez le faire directement, comme ceci (vous devez utiliser le module @code{(gnu packages cups)}) :"
+msgstr "Supposons que vous souhaitiez activer l'interface Web de CUPS et ajouter le support pour les imprimantes Epson via le paquet @code{escpr} et pour les imprimantes HP via le paquet @code{hplip-minimal}. Vous pouvez le faire directement, comme ceci (vous devez utiliser le module @code{(gnu packages cups)}) :"
#. type: example
#: doc/guix.texi:12965
@@ -24370,7 +24371,7 @@ msgstr "{paramètre de @code{cups-configuration}} non-negative-integer filter-li
#. type: deftypevr
#: doc/guix.texi:13291
msgid "Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource problems. A limit of 0 disables filter limiting. An average print to a non-PostScript printer needs a filter limit of about 200. A PostScript printer needs about half that (100). Setting the limit below these thresholds will effectively limit the scheduler to printing a single job at any time."
-msgstr "Spécifie le coût maximum des filtres qui sont lancés en même temps, pour minimiser les problèmes de ressources de disque, de mémoire et de CPU. Une limite de 0 désactive la limite de filtrage. Une impression standard vers une imprimante non-PostScript requirt une limite de filtre d'environ 200. Une imprimante PostScript requiert environ la moitié (100). Mettre en place la limite en dessous de ces valeurs limitera l'ordonnanceur à un seul travail d'impression à la fois."
+msgstr "Spécifie le coût maximum des filtres qui sont lancés en même temps, pour minimiser les problèmes de ressources de disque, de mémoire et de CPU. Une limite de 0 désactive la limite de filtrage. Une impression standard vers une imprimante non-PostScript requiert une limite de filtre d'environ 200. Une imprimante PostScript requiert environ la moitié (100). Mettre en place la limite en dessous de ces valeurs limitera l'ordonnanceur à un seul travail d'impression à la fois."
#. type: deftypevr
#: doc/guix.texi:13293 doc/guix.texi:13301 doc/guix.texi:13356
@@ -24488,7 +24489,7 @@ msgstr "{paramètre de @code{cups-configuration}} multiline-string-list listen"
#. type: deftypevr
#: doc/guix.texi:13365
msgid "Listens on the specified interfaces for connections. Valid values are of the form @var{address}:@var{port}, where @var{address} is either an IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate all addresses. Values can also be file names of local UNIX domain sockets. The Listen directive is similar to the Port directive but allows you to restrict access to specific interfaces or networks."
-msgstr "Écoute sur les interfaces spécifiées. Les valeurs valides sont de la forme @var{adresse}:@var{port}, où @var{adresse} est sotit une daresse IPv6 dans des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes les adresses. Les valeurs peuvent aussi être des noms de fichiers de socket UNIX domain. La directive Listen est similaire à la directive Port mais vous permet de restreindre l'accès à des interfaces ou des réseaux spécifiques."
+msgstr "Écoute sur les interfaces spécifiées. Les valeurs valides sont de la forme @var{adresse}:@var{port}, où @var{adresse} est soit une adresse IPv6 dans des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes les adresses. Les valeurs peuvent aussi être des noms de fichiers de socket UNIX domain. La directive Listen est similaire à la directive Port mais vous permet de restreindre l'accès à des interfaces ou des réseaux spécifiques."
#. type: deftypevr
#: doc/guix.texi:13367
@@ -25822,7 +25823,7 @@ msgstr "{Variable Scheme} alsa-service-type"
#. type: deffn
#: doc/guix.texi:14094
msgid "This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound Architecture} (ALSA) system, which generates the @file{/etc/asound.conf} configuration file. The value for this type is a @command{alsa-configuration} record as in this example:"
-msgstr "C'est le type pour le système @uref{https://alsa-project.org/, Advanced Linux Sound Architecture} (ALSA), qui génère le fichier de configuration @file{/etc/asound.conf}. La valer de ce type est un enregistrement @command{alsa-configuration} comme dans cet exemple :"
+msgstr "C'est le type pour le système @uref{https://alsa-project.org/, Advanced Linux Sound Architecture} (ALSA), qui génère le fichier de configuration @file{/etc/asound.conf}. La valeur de ce type est un enregistrement @command{alsa-configuration} comme dans cet exemple :"
#. type: example
#: doc/guix.texi:14097
@@ -28029,7 +28030,7 @@ msgstr "{paramètre de @code{dovecot-configuration}} boolean mbox-very-dirty-syn
#. type: deftypevr
#: doc/guix.texi:15300
msgid "Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, EXAMINE, EXPUNGE or CHECK commands. If this is set, @samp{mbox-dirty-syncs} is ignored. Defaults to @samp{#f}."
-msgstr "Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement même avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK. Si l'option n'est pas actifée, @samp{mbox-dirty-syncs} est ignorée. La valeur par défaut est @samp{#f}."
+msgstr "Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement même avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK. Si l'option n'est pas activée, @samp{mbox-dirty-syncs} est ignorée. La valeur par défaut est @samp{#f}."
#. type: deftypevr
#: doc/guix.texi:15302
@@ -28620,7 +28621,7 @@ msgstr "delay-newmail"
#. type: table
#: doc/guix.texi:15606
msgid "Send EXISTS/RECENT new mail notifications only when replying to NOOP and CHECK commands. Some clients ignore them otherwise, for example OSX Mail (<v2.1). Outlook Express breaks more badly though, without this it may show user \"Message no longer in server\" errors. Note that OE6 still breaks even with this workaround if synchronization is set to \"Headers Only\"."
-msgstr "Envoie des notifications de nouveau message EXISTS/RECENT seulement en réponse aux commandes NOOP et CHECK. Certains clients les ignorent autrement, par exemple OSX Mail (< v2.1). Outlook Express est encore plus cassé, sans cela il peut montrer des erreurs de type « Le message n'est plus sur le serveur ». Remarquez que OE6 est toujours cassé même avec ce contournement si la synchronisation est à « En-têtes seulement »."
+msgstr "Envoi des notifications de nouveau message EXISTS/RECENT seulement en réponse aux commandes NOOP et CHECK. Certains clients les ignorent autrement, par exemple OSX Mail (< v2.1). Outlook Express est encore plus cassé, sans cela il peut montrer des erreurs de type « Le message n'est plus sur le serveur ». Remarquez que OE6 est toujours cassé même avec ce contournement si la synchronisation est à « En-têtes seulement »."
#. type: item
#: doc/guix.texi:15607
@@ -28764,7 +28765,7 @@ msgstr "@code{config-file} (par défaut : @var{%default-opensmtpd-file})"
#. type: table
#: doc/guix.texi:15683
msgid "File-like object of the OpenSMTPD configuration file to use. By default it listens on the loopback network interface, and allows for mail from users and daemons on the local machine, as well as permitting email to remote servers. Run @command{man smtpd.conf} for more information."
-msgstr "Objet simili-fichier du fichier de configuration de OpenSMTPD à utiliser. Par défaut il écoute sur l'interface de boucle locale et accepte les courriels des utilisateurs et des démons de la machine locale, et autorise l'envoie de courriels à des serveurs distants. Lancez @command{man smtpd.conf} pour plus d'information."
+msgstr "Objet simili-fichier du fichier de configuration de OpenSMTPD à utiliser. Par défaut il écoute sur l'interface de boucle locale et accepte les courriels des utilisateurs et des démons de la machine locale, et autorise l'envoi de courriels à des serveurs distants. Lancez @command{man smtpd.conf} pour plus d'information."
#. type: subsubheading
#: doc/guix.texi:15687
@@ -28900,7 +28901,7 @@ msgstr "Les alias n'ont pas besoin de correspondre à des utilisateurs locaux du
#: doc/guix.texi:15757
#, no-wrap
msgid "messaging"
-msgstr "messagerie intantanée"
+msgstr "messagerie instantanée"
#. type: cindex
#: doc/guix.texi:15758
@@ -29700,7 +29701,7 @@ msgstr "C'est le type de service pour le démon de passerelle IRC @url{http://bi
#. type: defvr
#: doc/guix.texi:16194
msgid "To have BitlBee listen on port 6667 on localhost, add this line to your services:"
-msgstr "Pour que BitlBee écoute sur le pourt 6667 sur localhost, ajoutez cette ligne à vos services :"
+msgstr "Pour que BitlBee écoute sur le port 6667 sur localhost, ajoutez cette ligne à vos services :"
#. type: example
#: doc/guix.texi:16197
@@ -29825,7 +29826,7 @@ msgstr ""
#. type: deftp
#: doc/guix.texi:16250
msgid "After reconfiguring your system, you can manually set the murmur @code{SuperUser} password with the command that is printed during the activation phase."
-msgstr "Après avoir reconfiguré votre système, vous pouvez manuellement indiquer le mot de passe @code{SuperUser} de murmur avac la commande qui s'affiche pendant la phase d'activation."
+msgstr "Après avoir reconfiguré votre système, vous pouvez manuellement indiquer le mot de passe @code{SuperUser} de murmur avec la commande qui s'affiche pendant la phase d'activation."
#. type: deftp
#: doc/guix.texi:16259
@@ -31396,7 +31397,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:16970
msgid "At startup, @command{nginx} has not yet read its configuration file, so it uses a default file to log error messages. If it fails to load its configuration file, that is where error messages are logged. After the configuration file is loaded, the default error log file changes as per configuration. In our case, startup error messages can be found in @file{/var/run/nginx/logs/error.log}, and after configuration in @file{/var/log/nginx/error.log}. The second location can be changed with the @var{log-directory} configuration option."
-msgstr "Au démarrage, @command{nginx} n'a pas encore lu son fichier de configuration, donc il utilise les fichiers par défaut pour les messages d'erreur. S'il échoue à charger sa configuration, c'est là où les messages seront enregistrés. Après la lecture du fichier de configuration, le fichier de journal d'erreur par défaut change en fonction de celle-ci. Dans notre cas, les messages d'erreur au démarage se trouvent dans @file{/var/run/nginx/logs/error.log} et après la configuration dans @file{/var/log/nginx/error.log}. Ce second emplacement peut être modifié avec l'option de configuration @var{log-directory}."
+msgstr "Au démarrage, @command{nginx} n'a pas encore lu son fichier de configuration, donc il utilise les fichiers par défaut pour les messages d'erreur. S'il échoue à charger sa configuration, c'est là où les messages seront enregistrés. Après la lecture du fichier de configuration, le fichier de journal d'erreur par défaut change en fonction de celle-ci. Dans notre cas, les messages d'erreur au démarrage se trouvent dans @file{/var/run/nginx/logs/error.log} et après la configuration dans @file{/var/log/nginx/error.log}. Ce second emplacement peut être modifié avec l'option de configuration @var{log-directory}."
#. type: deffn
#: doc/guix.texi:16971
@@ -31741,7 +31742,7 @@ msgstr "body"
#. type: table
#: doc/guix.texi:17148
msgid "Body of the location block, specified as a list of strings. This can contain many configuration directives. For example, to pass requests to a upstream server group defined using an @code{nginx-upstream-configuration} block, the following directive would be specified in the body @samp{(list \"proxy_pass http://upstream-name;\")}."
-msgstr "Corps du block location, spécifié comme une liste de chaînes de caractères. Cela peut contenir de nombreuses directives de configuration. PAr exemple, pour passer des requêtes à un groupe de serveurs amont définis dans un bloc @code{nginx-upstream-configuration}, la directive suivante peut être spécifiée dans le corps : @samp{(list \"proxy_pass http://upstream-name;\")}."
+msgstr "Corps du block location, spécifié comme une liste de chaînes de caractères. Cela peut contenir de nombreuses directives de configuration. Par exemple, pour passer des requêtes à un groupe de serveurs amont définis dans un bloc @code{nginx-upstream-configuration}, la directive suivante peut être spécifiée dans le corps : @samp{(list \"proxy_pass http://upstream-name;\")}."
#. type: deftp
#: doc/guix.texi:17152
@@ -31964,7 +31965,7 @@ msgstr "fcgiwrap"
#. type: Plain text
#: doc/guix.texi:17259
msgid "FastCGI is an interface between the front-end and the back-end of a web service. It is a somewhat legacy facility; new web services should generally just talk HTTP between the front-end and the back-end. However there are a number of back-end services such as PHP or the optimized HTTP Git repository access that use FastCGI, so we have support for it in Guix."
-msgstr "FastCGI est une interface entre le frontal et le moteur d'un service web. C'est un dispositif quelque peu désué ; les nouveaux services devraient généralement juste parler HTTP entre le frontal et le moteur. Cependant il y a un certain nombre de services de moteurs comme PHP ou l'accès aux dépôts Git optimisé en HTTP qui utilisent FastCGI, donc nous le supportons dans Guix."
+msgstr "FastCGI est une interface entre le frontal et le moteur d'un service web. C'est un dispositif quelque peu désuet ; les nouveaux services devraient généralement juste parler HTTP entre le frontal et le moteur. Cependant il y a un certain nombre de services de moteurs comme PHP ou l'accès aux dépôts Git optimisé en HTTP qui utilisent FastCGI, donc nous le supportons dans Guix."
#. type: Plain text
#: doc/guix.texi:17266
@@ -32164,7 +32165,7 @@ msgstr "@code{socket} (par défaut : @code{(string-append \"/var/run/php\" (vers
#. type: table
#: doc/guix.texi:17333
msgid "The address on which to accept FastCGI requests. Valid syntaxes are:"
-msgstr "L'adresse sur laquelle accepter les requêts FastCGI. Les syntaxes valides sont :"
+msgstr "L'adresse sur laquelle accepter les requêtes FastCGI. Les syntaxes valides sont :"
#. type: code{#1}
#: doc/guix.texi:17334
@@ -32871,7 +32872,7 @@ msgstr "@code{default-location} (par défaut : @i{voir plus bas})"
#. type: table
#: doc/guix.texi:17643
msgid "The default @code{nginx-location-configuration}. Because @code{certbot} needs to be able to serve challenges and responses, it needs to be able to run a web server. It does so by extending the @code{nginx} web service with an @code{nginx-server-configuration} listening on the @var{domains} on port 80, and which has a @code{nginx-location-configuration} for the @code{/.well-known/} URI path subspace used by Let's Encrypt. @xref{Web Services}, for more on these nginx configuration data types."
-msgstr "Le @code{nginx-location-configuration} par défaut. Come @code{certbot} doit pouvoir servir les défis et les réponses, il doit être capable de lancer un serveur web. Cela se fait en étendant le service web @code{nginx} avec un @code{nginx-server-configuration} qui écoute sur les @var{domains} sur le port 80 et qui a un @code{nginx-location-configuration} pour le chemin @code{/.well-known/} utilisé par Let's Encrypt. @xref{Web Services} pour plus d'information sur les types de données de la configuration de nginx."
+msgstr "Le @code{nginx-location-configuration} par défaut. Comme @code{certbot} doit pouvoir servir les défis et les réponses, il doit être capable de lancer un serveur web. Cela se fait en étendant le service web @code{nginx} avec un @code{nginx-server-configuration} qui écoute sur les @var{domains} sur le port 80 et qui a un @code{nginx-location-configuration} pour le chemin @code{/.well-known/} utilisé par Let's Encrypt. @xref{Web Services} pour plus d'information sur les types de données de la configuration de nginx."
#. type: table
#: doc/guix.texi:17647
@@ -33778,7 +33779,7 @@ msgstr "{Type de données} knot-configuration"
#. type: deftp
#: doc/guix.texi:18062
msgid "Data type representing the Knot configuration. This type has the following parameters:"
-msgstr "Type de donées représentant la configuration de Knot. Ce type a les paramètres suivants :"
+msgstr "Type de données représentant la configuration de Knot. Ce type a les paramètres suivants :"
#. type: item
#: doc/guix.texi:18064
@@ -34035,7 +34036,7 @@ msgstr "ddclient"
#. type: Plain text
#: doc/guix.texi:18154
msgid "The ddclient service described below runs the ddclient daemon, which takes care of automatically updating DNS entries for service providers such as @uref{https://dyn.com/dns/, Dyn}."
-msgstr "Le srevice ddclient décrit plus bas lance le démon ddclient, qui prend en charge la mise à jour automatique des entrées DNS pour les fournisseurs de service comme @uref{https://dyn.com/dns/, Dyn}."
+msgstr "Le service ddclient décrit plus bas lance le démon ddclient, qui prend en charge la mise à jour automatique des entrées DNS pour les fournisseurs de service comme @uref{https://dyn.com/dns/, Dyn}."
#. type: Plain text
#: doc/guix.texi:18157
@@ -34685,7 +34686,7 @@ msgstr "{paramètre de @code{openvpn-server-configuration}} keepalive keepalive"
#. type: deftypevr
#: doc/guix.texi:18562
msgid "Causes ping-like messages to be sent back and forth over the link so that each side knows when the other side has gone down. @code{keepalive} requires a pair. The first element is the period of the ping sending, and the second element is the timeout before considering the other side down."
-msgstr "Fait que des messages de ping sont envoyés régulièrement dans les deux sens pour que chaque côté sache quand l'autre n'est plus disponible. @code{keepalive} a besoin d'une paire. Le premier élément est la période d'envoie du ping, et le second élément est le délai d'attente avant de considéré que l'autre côté n'est plus disponible."
+msgstr "Fait que des messages de ping sont envoyés régulièrement dans les deux sens pour que chaque côté sache quand l'autre n'est plus disponible. @code{keepalive} a besoin d'une paire. Le premier élément est la période d'envoi du ping, et le second élément est le délai d'attente avant de considéré que l'autre côté n'est plus disponible."
#. type: deftypevr
#: doc/guix.texi:18565
@@ -36877,7 +36878,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer max-client-requests
#. type: deftypevr
#: doc/guix.texi:19756
msgid "Limit on concurrent requests from a single client connection. To avoid one client monopolizing the server this should be a small fraction of the global max_requests and max_workers parameter."
-msgstr ""
+msgstr "Limite de requêtes concurrentes depuis une connexion cliente unique. Pour éviter qu'un client ne monopolise le serveur, vous devriez indiquer une petite partie des paramètres global max_requests et max_workers."
#. type: deftypevr
#: doc/guix.texi:19761
@@ -36888,7 +36889,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer admin-min-workers"
#. type: deftypevr
#: doc/guix.texi:19763
msgid "Same as @code{min-workers} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{min-workers} mais pour l'interface d'administration."
#. type: deftypevr
#: doc/guix.texi:19768
@@ -36899,7 +36900,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer admin-max-workers"
#. type: deftypevr
#: doc/guix.texi:19770
msgid "Same as @code{max-workers} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-workers} mais pour l'interface d'administration."
#. type: deftypevr
#: doc/guix.texi:19775
@@ -36910,7 +36911,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer admin-max-clients"
#. type: deftypevr
#: doc/guix.texi:19777
msgid "Same as @code{max-clients} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-clients} mais pour l'interface d'administration."
#. type: deftypevr
#: doc/guix.texi:19782
@@ -36921,7 +36922,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer admin-max-queued-cl
#. type: deftypevr
#: doc/guix.texi:19784
msgid "Same as @code{max-queued-clients} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-queued-clients} mais pour l'interface d'administration."
#. type: deftypevr
#: doc/guix.texi:19789
@@ -36932,7 +36933,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer admin-max-client-re
#. type: deftypevr
#: doc/guix.texi:19791
msgid "Same as @code{max-client-requests} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-client-requests} mais pour l'interface d'administration."
#. type: deftypevr
#: doc/guix.texi:19796
@@ -36943,7 +36944,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer log-level"
#. type: deftypevr
#: doc/guix.texi:19798 doc/guix.texi:20021
msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug."
-msgstr ""
+msgstr "Niveau de journalisation. 4 : erreurs, 3 : avertissements, 2 : information, 1 : débogage."
#. type: deftypevr
#: doc/guix.texi:19803
@@ -36954,12 +36955,12 @@ msgstr "{paramètre de @code{libvirt-configuration}} string log-filters"
#. type: deftypevr
#: doc/guix.texi:19805 doc/guix.texi:20028
msgid "Logging filters."
-msgstr ""
+msgstr "Filtres de journalisation."
#. type: deftypevr
#: doc/guix.texi:19808 doc/guix.texi:20031
msgid "A filter allows to select a different logging level for a given category of logs The format for a filter is one of:"
-msgstr ""
+msgstr "Un filtre qui permet de sélectionner plusieurs niveaux de journalisation pour une catégorie donnée. Le format d'un filtre est :"
#. type: itemize
#: doc/guix.texi:19812 doc/guix.texi:20035
@@ -36974,36 +36975,36 @@ msgstr "x:+nom"
#. type: deftypevr
#: doc/guix.texi:19825 doc/guix.texi:20048
msgid "where @code{name} is a string which is matched against the category given in the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., \"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a substring of the full category name, in order to match multiple similar categories), the optional \"+\" prefix tells libvirt to log stack trace for each message matching name, and @code{x} is the minimal level where matching messages should be logged:"
-msgstr ""
+msgstr "où @code{nom} est une chaîne de caractères qui correspond à la catégorie donnée dans @code{VIR_LOG_INIT()} au début de chaque fichier source de libvirt, p.@: ex.@: « remote », « qemu » ou « util.json » (le nom dans le filtre peut être une sous-chaîne du nom complet de la catégorie, pour pouvoir correspondre à plusieurs catégories similaires), le préfixe facultatif « + » dit à libvirt d'enregistrer les traces de piles pour chaque message qui correspond au nom, et @code{x} est le niveau minimal des messages qui devraient être enregistrés :"
#. type: itemize
#: doc/guix.texi:19829 doc/guix.texi:19874 doc/guix.texi:20052
#: doc/guix.texi:20097
msgid "1: DEBUG"
-msgstr ""
+msgstr "1 : DEBUG"
#. type: itemize
#: doc/guix.texi:19832 doc/guix.texi:19877 doc/guix.texi:20055
#: doc/guix.texi:20100
msgid "2: INFO"
-msgstr ""
+msgstr "2 : INFO"
#. type: itemize
#: doc/guix.texi:19835 doc/guix.texi:19880 doc/guix.texi:20058
#: doc/guix.texi:20103
msgid "3: WARNING"
-msgstr ""
+msgstr "3 : WARNING"
#. type: itemize
#: doc/guix.texi:19838 doc/guix.texi:19883 doc/guix.texi:20061
#: doc/guix.texi:20106
msgid "4: ERROR"
-msgstr ""
+msgstr "4 : ERROR"
#. type: deftypevr
#: doc/guix.texi:19843 doc/guix.texi:20066
msgid "Multiple filters can be defined in a single filters statement, they just need to be separated by spaces."
-msgstr ""
+msgstr "On peut définir plusieurs filtres dans une seule déclaration de filtres, ils doivent juste être séparés par des espaces."
#. type: deftypevr
#: doc/guix.texi:19845 doc/guix.texi:20068
@@ -37019,66 +37020,66 @@ msgstr "{paramètre de @code{libvirt-configuration}} string log-outputs"
#. type: deftypevr
#: doc/guix.texi:19850 doc/guix.texi:20073
msgid "Logging outputs."
-msgstr ""
+msgstr "Sorties de débogage."
#. type: deftypevr
#: doc/guix.texi:19853 doc/guix.texi:20076
msgid "An output is one of the places to save logging information The format for an output can be:"
-msgstr ""
+msgstr "Une sortie est l'un des endroits où les journaux sont enregistrés. Le format d'une sortie peut être :"
#. type: item
#: doc/guix.texi:19855 doc/guix.texi:20078
#, no-wrap
msgid "x:stderr"
-msgstr ""
+msgstr "x:stderr"
#. type: table
#: doc/guix.texi:19857 doc/guix.texi:20080
msgid "output goes to stderr"
-msgstr ""
+msgstr "la sortie va vers stderr"
#. type: item
#: doc/guix.texi:19858 doc/guix.texi:20081
#, no-wrap
msgid "x:syslog:name"
-msgstr ""
+msgstr "x:syslog:nom"
#. type: table
#: doc/guix.texi:19860 doc/guix.texi:20083
msgid "use syslog for the output and use the given name as the ident"
-msgstr ""
+msgstr "utilise syslog comme sortie et utilise le nom donné comme identifiant"
#. type: item
#: doc/guix.texi:19861 doc/guix.texi:20084
#, no-wrap
msgid "x:file:file_path"
-msgstr ""
+msgstr "x:file:chemin_fichier"
#. type: table
#: doc/guix.texi:19863 doc/guix.texi:20086
msgid "output to a file, with the given filepath"
-msgstr ""
+msgstr "la sortie va vers un fichier, avec le chemin donné"
#. type: item
#: doc/guix.texi:19864 doc/guix.texi:20087
#, no-wrap
msgid "x:journald"
-msgstr ""
+msgstr "x:journald"
#. type: table
#: doc/guix.texi:19866 doc/guix.texi:20089
msgid "output to journald logging system"
-msgstr ""
+msgstr "la sortie va vers le système de journalisation journald"
#. type: deftypevr
#: doc/guix.texi:19870 doc/guix.texi:20093
msgid "In all case the x prefix is the minimal level, acting as a filter"
-msgstr ""
+msgstr "Dans tous les cas, le préfixe x est le niveau minimal, qui agit comme un filtre"
#. type: deftypevr
#: doc/guix.texi:19888 doc/guix.texi:20111
msgid "Multiple outputs can be defined, they just need to be separated by spaces."
-msgstr ""
+msgstr "Plusieurs sorties peuvent être définies, elles doivent juste être séparées par des espaces."
#. type: deftypevr
#: doc/guix.texi:19890 doc/guix.texi:20113
@@ -37094,22 +37095,22 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer audit-level"
#. type: deftypevr
#: doc/guix.texi:19895
msgid "Allows usage of the auditing subsystem to be altered"
-msgstr ""
+msgstr "Permet de modifier l'utilisation du sous-système d'audit."
#. type: itemize
#: doc/guix.texi:19899
msgid "0: disable all auditing"
-msgstr ""
+msgstr "0 : désactive tout audit"
#. type: itemize
#: doc/guix.texi:19902
msgid "1: enable auditing, only if enabled on host"
-msgstr ""
+msgstr "1 : active l'audit, seulement s'il est activé sur l'hôte"
#. type: itemize
#: doc/guix.texi:19905
msgid "2: enable auditing, and exit if disabled on host."
-msgstr ""
+msgstr "2 : active l'audit, et quitte s'il est désactivé sur l'hôte."
#. type: deftypevr
#: doc/guix.texi:19912
@@ -37120,7 +37121,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} boolean audit-logging"
#. type: deftypevr
#: doc/guix.texi:19914
msgid "Send audit messages via libvirt logging infrastructure."
-msgstr ""
+msgstr "Envoie les messages d'audit via l'infrastructure de journalisation de libvirt"
#. type: deftypevr
#: doc/guix.texi:19919
@@ -37131,7 +37132,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} optional-string host-uuid"
#. type: deftypevr
#: doc/guix.texi:19921
msgid "Host UUID. UUID must not have all digits be the same."
-msgstr ""
+msgstr "UUID de l'hôte. L'UUID ne doit pas avoir tous ses nombres identiques."
#. type: deftypevr
#: doc/guix.texi:19926
@@ -37142,22 +37143,22 @@ msgstr "{paramètre de @code{libvirt-configuration}} string host-uuid-source"
#. type: deftypevr
#: doc/guix.texi:19928
msgid "Source to read host UUID."
-msgstr ""
+msgstr "Source où lire l'UUID de l'hôte."
#. type: itemize
#: doc/guix.texi:19932
msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}"
-msgstr ""
+msgstr "@code{smbios} : récupère l'UUID à partir de @code{dmidecode -s system-uuid}"
#. type: itemize
#: doc/guix.texi:19935
msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}"
-msgstr ""
+msgstr "@code{machine-id} : récupère l'UUID à partir de @code{/etc/machine-id}"
#. type: deftypevr
#: doc/guix.texi:19940
msgid "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be generated."
-msgstr ""
+msgstr "Si @code{dmidecode} ne fournit pas un UUID valide, un UUID temporaire sera généré."
#. type: deftypevr
#: doc/guix.texi:19942
@@ -37173,7 +37174,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer keepalive-interval"
#. type: deftypevr
#: doc/guix.texi:19950
msgid "A keepalive message is sent to a client after @code{keepalive_interval} seconds of inactivity to check if the client is still responding. If set to -1, libvirtd will never send keepalive requests; however clients can still send them and the daemon will send responses."
-msgstr ""
+msgstr "Un message keepalive est envoyé au client après @code{keepalive_interval} secondes d'inactivité pour vérifier si le client répond toujours. Si la valeur est -1, libvirtd n'enverra jamais de requête keepalive ; cependant les clients peuvent toujours en envoyer et le démon y répondra."
#. type: deftypevr
#: doc/guix.texi:19955
@@ -37184,12 +37185,12 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer keepalive-count"
#. type: deftypevr
#: doc/guix.texi:19959
msgid "Maximum number of keepalive messages that are allowed to be sent to the client without getting any response before the connection is considered broken."
-msgstr ""
+msgstr "Nombre maximum de messages keepalive qui peuvent être envoyés au client sans réponse avant que la connexion ne soit considérée comme cassée."
#. type: deftypevr
#: doc/guix.texi:19966
msgid "In other words, the connection is automatically closed approximately after @code{keepalive_interval * (keepalive_count + 1)} seconds since the last message received from the client. When @code{keepalive-count} is set to 0, connections will be automatically closed after @code{keepalive-interval} seconds of inactivity without sending any keepalive messages."
-msgstr ""
+msgstr "En d'autres termes, la connexion est approximativement fermée après @code{keepalive_interval * (keepalive_count + 1)} secondes après le dernier message reçu de la part du client. Lorsque @code{keepalive-count} est à 0, les connexions seront automatiquement fermées après @code{keepalive-interval} secondes d'inactivité sans envoyer le moindre message keepalive."
#. type: deftypevr
#: doc/guix.texi:19971
@@ -37200,7 +37201,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer admin-keepalive-int
#. type: deftypevr
#: doc/guix.texi:19973 doc/guix.texi:19980
msgid "Same as above but for admin interface."
-msgstr ""
+msgstr "Comme précédemment, mais pour l'interface d'administration."
#. type: deftypevr
#: doc/guix.texi:19978
@@ -37217,12 +37218,12 @@ msgstr "{paramètre de @code{libvirt-configuration}} integer ovs-timeout"
#. type: deftypevr
#: doc/guix.texi:19987
msgid "Timeout for Open vSwitch calls."
-msgstr ""
+msgstr "Délai d'attente pour les appels Open vSwitch."
#. type: deftypevr
#: doc/guix.texi:19991
msgid "The @code{ovs-vsctl} utility is used for the configuration and its timeout option is set by default to 5 seconds to avoid potential infinite waits blocking libvirt."
-msgstr ""
+msgstr "L'utilitaire @code{ovs-vsctl} est utilisé pour la configuration et son option de délai d'attente est à 5 secondes pour éviter qu'une attente infinie ne bloque libvirt."
#. type: subsubheading
#: doc/guix.texi:19998
@@ -37233,12 +37234,12 @@ msgstr "démon Virrlog"
#. type: Plain text
#: doc/guix.texi:20001
msgid "The virtlogd service is a server side daemon component of libvirt that is used to manage logs from virtual machine consoles."
-msgstr ""
+msgstr "Le service virtlogd est un démon côté serveur qui fait partie de libvirt, utilisé pour gérer les journaux des consoles des machines virtuelles."
#. type: Plain text
#: doc/guix.texi:20007
msgid "This daemon is not used directly by libvirt client applications, rather it is called on their behalf by @code{libvirtd}. By maintaining the logs in a standalone daemon, the main @code{libvirtd} daemon can be restarted without risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec() itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime."
-msgstr ""
+msgstr "Ce démon n'est pas utilisé directement par les clients libvirt, mais il est appelé pour eux par @code{libvirtd}. En maintenant les journaux dans un démon séparé, le démon @code{libvirtd} principal peut être redémarré sans risque de perte de journaux. Le démon @code{virtlogd} a la possibilité de ré-exécuter exec() sur lui-même quand il reçoit @code{SIGUSR1}, pour permettre des mises à jour à chaux sans temps mort."
#. type: deffn
#: doc/guix.texi:20008
@@ -37249,7 +37250,7 @@ msgstr "{Variable Scheme} virtlog-service-type"
#. type: deffn
#: doc/guix.texi:20011
msgid "This is the type of the virtlog daemon. Its value must be a @code{virtlog-configuration}."
-msgstr ""
+msgstr "Le type de service pour le démon virtlogd. Sa valeur doit être un @code{virtlog-configuration}."
#. type: example
#: doc/guix.texi:20016
@@ -37301,7 +37302,7 @@ msgstr "{paramètre de @code{virtlog-configuration}} integer max-size"
#. type: deftypevr
#: doc/guix.texi:20126
msgid "Maximum file size before rolling over."
-msgstr ""
+msgstr "Taille de fichier maximale avant roulement."
#. type: deftypevr
#: doc/guix.texi:20128
@@ -37317,7 +37318,7 @@ msgstr "{paramètre de @code{virtlog-configuration}} integer max-backups"
#. type: deftypevr
#: doc/guix.texi:20133
msgid "Maximum number of backup files to keep."
-msgstr ""
+msgstr "Nombre maximal de fichiers de sauvegardes à garder."
#. type: deftypevr
#: doc/guix.texi:20135
@@ -37345,7 +37346,7 @@ msgstr "binfmt_misc"
#. type: Plain text
#: doc/guix.texi:20147
msgid "@code{qemu-binfmt-service-type} provides support for transparent emulation of program binaries built for different architectures---e.g., it allows you to transparently execute an ARMv7 program on an x86_64 machine. It achieves this by combining the @uref{https://www.qemu.org, QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux."
-msgstr ""
+msgstr "@code{qemu-binfmt-service-type} fournit le support de l'émulation transparente de binaires construits pour des architectures différentes — p.@: ex.@: il permet d'exécuter de manière transparente des programmes ARMv sur une machine x86_64. Cela se fait en combinant l'émulateur @uref{https://www.qemu.org, QEMU} et la fonctionnalité @code{binfmt_misc} du noyau Linux."
#. type: defvr
#: doc/guix.texi:20148
@@ -37356,7 +37357,7 @@ msgstr "{Variable Scheme} qemu-binfmt-service-type"
#. type: defvr
#: doc/guix.texi:20153
msgid "This is the type of the QEMU/binfmt service for transparent emulation. Its value must be a @code{qemu-binfmt-configuration} object, which specifies the QEMU package to use as well as the architecture we want to emulated:"
-msgstr ""
+msgstr "Le type du service QEMU/binfmt pour l'émulation transparente. Sa valeur doit être un objet @code{qemu-binfmt-configuration}, qui spécifie le paquet QEMU à utiliser ainsi que l'architecture que vous voulez émuler :"
#. type: example
#: doc/guix.texi:20158
@@ -37373,7 +37374,7 @@ msgstr ""
#. type: defvr
#: doc/guix.texi:20164
msgid "In this example, we enable transparent emulation for the ARM and aarch64 platforms. Running @code{herd stop qemu-binfmt} turns it off, and running @code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the @command{herd} command,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Dans cet exemple, on active l'émulation transparente pour les plateformes ARM et aarch64. Lancer @code{herd stop qemu-binfmt} l'éteint et lancer @code{herd start qemu-binfmt} le rallume (@pxref{Invoking herd, the @command{herd} command,, shepherd, The GNU Shepherd Manual})."
#. type: deftp
#: doc/guix.texi:20166
@@ -37384,7 +37385,7 @@ msgstr "{Type de données} qemu-binfmt-configuration"
#. type: deftp
#: doc/guix.texi:20168
msgid "This is the configuration for the @code{qemu-binfmt} service."
-msgstr ""
+msgstr "La configuration du service @code{qemu-binfmt}."
#. type: item
#: doc/guix.texi:20170
@@ -37395,7 +37396,7 @@ msgstr "@code{platforms} (par défaut : @code{'()})"
#. type: table
#: doc/guix.texi:20173
msgid "The list of emulated QEMU platforms. Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below)."
-msgstr ""
+msgstr "La liste des plates-formes émulées par QEMU. Chaque élément doit être un objet @dfn{platform object} tel que renvoyé par @code{lookup-qemu-platforms} (voir plus bas)."
#. type: item
#: doc/guix.texi:20174
@@ -37406,12 +37407,12 @@ msgstr "@code{guix-support?} (par défaut : @code{#f})"
#. type: table
#: doc/guix.texi:20180
msgid "When it is true, QEMU and all its dependencies are added to the build environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, @code{--chroot-directory} option}). This allows the @code{binfmt_misc} handlers to be used within the build environment, which in turn means that you can transparently build programs for another architecture."
-msgstr ""
+msgstr "Lorsque la valeur est vraie, QEMU et toutes ses dépendances sont ajoutés à l'environnement de construction de @command{guix-daemon} (@pxref{Invoking guix-daemon, @code{--chroot-directory} option}). Cela permet d'utiliser les gestionnaires @code{binfmt_misc} dans l'environnement de cosntruction, ce qui signifie que vous pouvez construire des programmes pour d'autres architectures de manière transparente."
#. type: table
#: doc/guix.texi:20183
msgid "For example, let's suppose you're on an x86_64 machine and you have this service:"
-msgstr ""
+msgstr "Par exemple, supposons que vous soyez sur une machine x86_64 et que vous avez ce services :"
#. type: example
#: doc/guix.texi:20189
@@ -37441,7 +37442,7 @@ msgstr "guix build -s armhf-linux inkscape\n"
#. type: table
#: doc/guix.texi:20202
msgid "and it will build Inkscape for ARMv7 @emph{as if it were a native build}, transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd like to test a package build for an architecture you don't have access to!"
-msgstr ""
+msgstr "et cela construira Inkscape pour ARMv7 @emph{comme s'il s'agissait d'une construction native}, de manière transparente avec QEMU pour émuler un CPU ARMv7. Plutôt pratique si vous voulez tester un paquet construit pour une architecture à laquelle vous n'avez pas accès !"
#. type: item
#: doc/guix.texi:20203
@@ -37463,7 +37464,7 @@ msgstr "{Procédure Scheme} lookup-qemu-platforms @var{platforms}@dots{}"
#. type: deffn
#: doc/guix.texi:20213
msgid "Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}. @var{platforms} must be a list of strings corresponding to platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"}, and so on."
-msgstr ""
+msgstr "Renvoie la liste des objets de plates-formes QEMU correspondant à @var{platforms}@dots{}. @var{platforms} doit être une liste de chaînes de caractères correspondant aux noms de plates-formes, comme @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"} etc."
#. type: deffn
#: doc/guix.texi:20215
@@ -37474,7 +37475,7 @@ msgstr "{Procédure Scheme} qemu-platform? @var{obj}"
#. type: deffn
#: doc/guix.texi:20217
msgid "Return true if @var{obj} is a platform object."
-msgstr ""
+msgstr "Renvoie vrai s i@var{obj} est un objet de plate-forme."
#. type: deffn
#: doc/guix.texi:20219
@@ -37485,12 +37486,12 @@ msgstr "{Procédure Scheme} qemu-platform-name @var{platform}"
#. type: deffn
#: doc/guix.texi:20221
msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}."
-msgstr ""
+msgstr "Renvoie le nom de @var{platform} — une chaîne comme @code{\"arm\"}."
#. type: Plain text
#: doc/guix.texi:20233
msgid "The @code{(gnu services version-control)} module provides a service to allow remote access to local Git repositories. There are three options: the @code{git-daemon-service}, which provides access to repositories via the @code{git://} unsecured TCP-based protocol, extending the @code{nginx} web server to proxy some requests to @code{git-http-backend}, or providing a web interface with @code{cgit-service-type}."
-msgstr ""
+msgstr "Le module @code{(gnu services version-control)} fournit un service pour permettre l'accès à distance à des dépôts Git locaux. Il y a trois options : en utilisant @code{git-daemon-service} qui fournit un accès aux dépôts via le protocole non sécurisé @code{git://} basé sur TCP, en étendant le serveur web @code{nginx} pour relayer les requêtes vers @code{git-http-backend} ou en fournissant une interface web avec @code{cgit-service-type}."
#. type: deffn
#: doc/guix.texi:20234
@@ -37501,12 +37502,12 @@ msgstr "{Procédure Scheme} git-daemon-service [#:config (git-daemon-configurati
#. type: deffn
#: doc/guix.texi:20238
msgid "Return a service that runs @command{git daemon}, a simple TCP server to expose repositories over the Git protocol for anonymous access."
-msgstr ""
+msgstr "Renvoie un service qui lance @command{git daemon}, un serveur TCP simple pour exposer des dépôts sur le protocole Git pour des accès anonymes."
#. type: deffn
#: doc/guix.texi:20244
msgid "The optional @var{config} argument should be a @code{<git-daemon-configuration>} object, by default it allows read-only access to exported@footnote{By creating the magic file \"git-daemon-export-ok\" in the repository directory.} repositories under @file{/srv/git}."
-msgstr ""
+msgstr "L'argument facultatif @var{config} devrait être un objet @code{<git-daemon-configuration>}, par défaut il permet l'accès en lecture-seule aux dépôts exportés@footnote{En créant le fichier magique « git-daemon-export-ok » dans le répertoire du dépôt.} dans @file{/srv/git}."
#. type: deftp
#: doc/guix.texi:20247
@@ -37517,7 +37518,7 @@ msgstr "{Type de données} git-daemon-configuration"
#. type: deftp
#: doc/guix.texi:20249
msgid "Data type representing the configuration for @code{git-daemon-service}."
-msgstr ""
+msgstr "Type de données représentnt la configuration de @code{git-daemon-service}."
#. type: item
#: doc/guix.texi:20251 doc/guix.texi:20307
@@ -37528,7 +37529,7 @@ msgstr "@code{package} (par défaut : @var{git})"
#. type: table
#: doc/guix.texi:20253 doc/guix.texi:20309
msgid "Package object of the Git distributed version control system."
-msgstr ""
+msgstr "Objet de paquet du système de contrôle de version distribué Git."
#. type: item
#: doc/guix.texi:20254 doc/guix.texi:20313
@@ -37539,7 +37540,7 @@ msgstr "@code{export-all?} (par défaut : @var{#f})"
#. type: table
#: doc/guix.texi:20257
msgid "Whether to allow access for all Git repositories, even if they do not have the @file{git-daemon-export-ok} file."
-msgstr ""
+msgstr "Indique s'il faut permettre l'accès à tous les dépôts Git, même s'ils n'ont pas le fichier @file{git-daemon-export-ok}."
#. type: item
#: doc/guix.texi:20258
@@ -37550,7 +37551,7 @@ msgstr "@code{base-path} (par défaut : @file{/srv/git})"
#. type: table
#: doc/guix.texi:20263
msgid "Whether to remap all the path requests as relative to the given path. If you run git daemon with @var{(base-path \"/srv/git\")} on example.com, then if you later try to pull @code{git://example.com/hello.git}, git daemon will interpret the path as @code{/srv/git/hello.git}."
-msgstr ""
+msgstr "Indique s'il faut traduire toutes les requêtes de chemins relativement au chemin actuel. Si vous lancez le démon git avec @var{(base-path \"/srv/git\")} sur example.com, si vous essayez ensuite de récupérer @code{git://example.com/hello.git}, le démon git interprétera ce chemin comme étant @code{/srv/git/hello.git}."
#. type: item
#: doc/guix.texi:20264
@@ -37561,7 +37562,7 @@ msgstr "@code{user-path} (par défaut : @var{#f})"
#. type: table
#: doc/guix.texi:20271
msgid "Whether to allow @code{~user} notation to be used in requests. When specified with empty string, requests to @code{git://host/~alice/foo} is taken as a request to access @code{foo} repository in the home directory of user @code{alice}. If @var{(user-path \"path\")} is specified, the same request is taken as a request to access @code{path/foo} repository in the home directory of user @code{alice}."
-msgstr ""
+msgstr "Indique s'il faut permettre la notation @code{~user} dans les requêtes. Lorsque spécifié avec une chaîne vide, les requêtes à @code{git://host/~alice/foo} sont des requêtes d'accès au dépôt @code{foo} dans le répertoire personnel de l'utilisateur @code{alice}. Si @var{(user-path \"chemin\")} est spécifié, la même requête est interprétée comme accédant au répertoire @code{chemin/foo} dans le répertoire personnel de l'utilisateur @code{alice}."
#. type: item
#: doc/guix.texi:20272
@@ -37572,7 +37573,7 @@ msgstr "@code{listen} (par défaut : @var{'()})"
#. type: table
#: doc/guix.texi:20275
msgid "Whether to listen on specific IP addresses or hostnames, defaults to all."
-msgstr ""
+msgstr "Indique s'il faut écouter sur des adresses IP ou des noms d'hôtes particuliers, par défaut tous."
#. type: item
#: doc/guix.texi:20276
@@ -37583,7 +37584,7 @@ msgstr "@code{port} (par défaut : @var{#f})"
#. type: table
#: doc/guix.texi:20278
msgid "Whether to listen on an alternative port, which defaults to 9418."
-msgstr ""
+msgstr "Indique s'il faut écouter sur un port particulier, par défaut le 9418."
#. type: item
#: doc/guix.texi:20279
@@ -37594,7 +37595,7 @@ msgstr "@code{whitelist} (par défaut : @var{'()})"
#. type: table
#: doc/guix.texi:20281
msgid "If not empty, only allow access to this list of directories."
-msgstr ""
+msgstr "Si la liste n'est pas vide, n'autoriser l'accès qu'aux dossiers spécifiés."
#. type: item
#: doc/guix.texi:20282
@@ -37605,17 +37606,17 @@ msgstr "@code{extra-options} (par défaut : @var{'()})"
#. type: table
#: doc/guix.texi:20285
msgid "Extra options will be passed to @code{git daemon}, please run @command{man git-daemon} for more information."
-msgstr ""
+msgstr "Options supplémentaires qui seront passées à @code{git daemon}, lancez @command{man git-daemon} pour plus d'informations."
#. type: Plain text
#: doc/guix.texi:20299
msgid "The @code{git://} protocol lacks authentication. When you pull from a repository fetched via @code{git://}, you don't know that the data you receive was modified is really coming from the specified host, and you have your connection is subject to eavesdropping. It's better to use an authenticated and encrypted transport, such as @code{https}. Although Git allows you to serve repositories using unsophisticated file-based web servers, there is a faster protocol implemented by the @code{git-http-backend} program. This program is the back-end of a proper Git web service. It is designed to sit behind a FastCGI proxy. @xref{Web Services}, for more on running the necessary @code{fcgiwrap} daemon."
-msgstr ""
+msgstr "Le protocole @code{git://} ne permet pas l'authentification. Lorsque vous récupérez un dépôt via @code{git://}, vous ne pouvez pas savoir si les données que vous recevez ont été modifiées ou si elles viennent bien de l'hôte spécifié, et votre connexion pourrait être espionnée. Il est préférable d'utiliser un protocole de transport authentifié et chiffré, comme @code{https}. Bien que Git vous permette de servir des dépôts avec un serveur web peu sophistiqué basé sur les fichiers, il y a un protocole plus rapide implémenté par le programme @code{git-http-backend}. Ce programme est le moteur des services web Git corrects. Il est conçu pour se trouver derrière un mandataire FastCGI. @xref{Web Services} pour plus d'informations sur la manière de lancer le démon @code{fcgiwrap} nécessaire."
#. type: Plain text
#: doc/guix.texi:20302
msgid "Guix has a separate configuration data type for serving Git repositories over HTTP."
-msgstr ""
+msgstr "Guix a un type de données de configuration séparé pour servir des dépôts Git par HTTP."
#. type: deftp
#: doc/guix.texi:20303
@@ -37626,7 +37627,7 @@ msgstr "{Type de données} git-http-configuration"
#. type: deftp
#: doc/guix.texi:20305
msgid "Data type representing the configuration for @code{git-http-service}."
-msgstr ""
+msgstr "Type de données représentant la configuration de @code{git-http-service}."
#. type: item
#: doc/guix.texi:20310
@@ -37637,12 +37638,12 @@ msgstr "@code{git-root} (par défaut : @file{/srv/git})"
#. type: table
#: doc/guix.texi:20312
msgid "Directory containing the Git repositories to expose to the world."
-msgstr ""
+msgstr "Répertoire contenant les dépôts Git à exposer au monde."
#. type: table
#: doc/guix.texi:20316
msgid "Whether to expose access for all Git repositories in @var{git-root}, even if they do not have the @file{git-daemon-export-ok} file."
-msgstr ""
+msgstr "Indique s'il faut exposer l'accès de tous les dépôts Git dans @var{git-root}, même s'ils n'ont pas le fichier @file{git-daemon-export-ok}."
#. type: item
#: doc/guix.texi:20317
@@ -37653,7 +37654,7 @@ msgstr "@code{uri-path} (par défaut : @file{/git/})"
#. type: table
#: doc/guix.texi:20322
msgid "Path prefix for Git access. With the default @code{/git/} prefix, this will map @code{http://@var{server}/git/@var{repo}.git} to @code{/srv/git/@var{repo}.git}. Requests whose URI paths do not begin with this prefix are not passed on to this Git instance."
-msgstr ""
+msgstr "Préfixe du chemin pour l'accès Git. Avec le préfixe @code{/git/} par défaut, cela traduira @code{http://@var{server}/git/@var{repo}.git} en @code{/sr/git/@var{repo}.git}. Les requêtes dont les chemins d'URI ne commencent pas par ce préfixe ne seront pas passées à cette instance de Git."
#. type: item
#: doc/guix.texi:20323
@@ -37664,12 +37665,12 @@ msgstr "@code{fcgiwrap-socket} (par défaut : @code{127.0.0.1:9000})"
#. type: table
#: doc/guix.texi:20326
msgid "The socket on which the @code{fcgiwrap} daemon is listening. @xref{Web Services}."
-msgstr ""
+msgstr "Le socket sur lequel le démon @code{fcgiwrap} écoute. @xref{Web Services}."
#. type: Plain text
#: doc/guix.texi:20333
msgid "There is no @code{git-http-service-type}, currently; instead you can create an @code{nginx-location-configuration} from a @code{git-http-configuration} and then add that location to a web server."
-msgstr ""
+msgstr "Il n'y a pas de @code{git-http-service-type}, actuellement ; à la place vous pouvez créer un @code{nginx-location-configuration} à partir d'un @code{git-http-configuration} puis ajouter cela au serveur web."
#. type: deffn
#: doc/guix.texi:20334
@@ -37681,6 +37682,8 @@ msgstr "{Procédure Scheme} git-http-nginx-location-configuration @"
#: doc/guix.texi:20339
msgid "[config=(git-http-configuration)] Compute an @code{nginx-location-configuration} that corresponds to the given Git http configuration. An example nginx service definition to serve the default @file{/srv/git} over HTTPS might be:"
msgstr ""
+"[config=(git-http-configuration)]\n"
+"Calcule un @code{nginx-location-configuration} qui correspond à la configuration http Git donnée. Voici un exemple de définition de service nginx qui sert le répertoire @file{/srv/git} par défaut en HTTPS :"
#. type: example
#: doc/guix.texi:20356
@@ -37721,7 +37724,7 @@ msgstr ""
#. type: deffn
#: doc/guix.texi:20363
msgid "This example assumes that you are using Let's Encrypt to get your TLS certificate. @xref{Certificate Services}. The default @code{certbot} service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS. You will also need to add an @code{fcgiwrap} proxy to your system services. @xref{Web Services}."
-msgstr ""
+msgstr "Ce exemple suppose que vous utilisez Let's Encrypt pour récupérer votre certificat TLS. @xref{Certificate Services}. Le service @code{certbot} par défaut redirigera tout le trafic HTTP de @code{git.my-host.org} en HTTPS. Vous devrez aussi ajouter un mandataire @code{fcgiwrap} à vos services systèmes. @xref{Web Services}."
#. type: subsubheading
#: doc/guix.texi:20365
@@ -37749,7 +37752,7 @@ msgstr "@uref{https://git.zx2c4.com/cgit/, Cgit} est une interface web pour des
#. type: Plain text
#: doc/guix.texi:20374
msgid "The following example will configure the service with default values. By default, Cgit can be accessed on port 80 (@code{http://localhost:80})."
-msgstr ""
+msgstr "L'exemple suivant configurera le service avec les valeurs par défaut. Par défaut, on peut accéder à Cgit sur le port (@code{http://localhost:80})."
#. type: example
#: doc/guix.texi:20377
@@ -37760,7 +37763,7 @@ msgstr "(service cgit-service-type)\n"
#. type: Plain text
#: doc/guix.texi:20381
msgid "The @code{file-object} type designates either a file-like object (@pxref{G-Expressions, file-like objects}) or a string."
-msgstr ""
+msgstr "Le type @code{file-object} désigne soit un objet simili-fichier (@pxref{G-Expressions, file-like objects}), soit une chaîne."
#. type: Plain text
#: doc/guix.texi:20385
@@ -37798,7 +37801,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object about-filter"
#. type: deftypevr
#: doc/guix.texi:20399
msgid "Specifies a command which will be invoked to format the content of about pages (both top-level and for each repository)."
-msgstr ""
+msgstr "Spécifie une commande qui doit être invoquée pour formater le contenu des pages « à propos » (au plus haut niveau et pour chaque dépôt)."
#. type: deftypevr
#: doc/guix.texi:20404
@@ -37809,7 +37812,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string agefile"
#. type: deftypevr
#: doc/guix.texi:20407
msgid "Specifies a path, relative to each repository path, which can be used to specify the date and time of the youngest commit in the repository."
-msgstr ""
+msgstr "Spécifie un chemin, relativement à chaque dépôt, qui peut être utilisé pour spécifier la date et l'heure du plus récent commit du dépôt."
#. type: deftypevr
#: doc/guix.texi:20412
@@ -37820,7 +37823,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object auth-filter"
#. type: deftypevr
#: doc/guix.texi:20415
msgid "Specifies a command that will be invoked for authenticating repository access."
-msgstr ""
+msgstr "Spécifie une commande qui sera invoquée pour authentifier l'accès au dépôt."
#. type: deftypevr
#: doc/guix.texi:20420
@@ -37831,7 +37834,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string branch-sort"
#. type: deftypevr
#: doc/guix.texi:20423
msgid "Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set @samp{name} enables ordering by branch name."
-msgstr ""
+msgstr "Drapeau qui, lorsqu'il vaut @samp{age}, active le trie par date dans la liste des branches, et le trie par nom lorsqu'il vaut @samp{name}."
#. type: deftypevr
#: doc/guix.texi:20425
@@ -37847,7 +37850,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string cache-root"
#. type: deftypevr
#: doc/guix.texi:20430
msgid "Path used to store the cgit cache entries."
-msgstr ""
+msgstr "Chemin utilisé pour stocker les entrées de cache de cgit."
#. type: deftypevr
#: doc/guix.texi:20432
@@ -37863,7 +37866,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-static-ttl"
#. type: deftypevr
#: doc/guix.texi:20438
msgid "Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed with a fixed SHA1."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minute, des versions en cache des pages du dépôt accédées par leur SHA-1."
#. type: deftypevr
#: doc/guix.texi:20440 doc/guix.texi:20883
@@ -37879,7 +37882,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-dynamic-ttl"
#. type: deftypevr
#: doc/guix.texi:20446
msgid "Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed without a fixed SHA1."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, des version en cache des pages du dépôt accédées sans leur SHA1."
#. type: deftypevr
#: doc/guix.texi:20451
@@ -37890,7 +37893,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-repo-ttl"
#. type: deftypevr
#: doc/guix.texi:20454
msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository summary page."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minute, des version en cache de la page de résumé du dépôt."
#. type: deftypevr
#: doc/guix.texi:20459
@@ -37901,7 +37904,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-root-ttl"
#. type: deftypevr
#: doc/guix.texi:20462
msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository index page."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en cache de la page d'index du dépôt."
#. type: deftypevr
#: doc/guix.texi:20467
@@ -37912,7 +37915,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-scanrc-ttl"
#. type: deftypevr
#: doc/guix.texi:20470
msgid "Number which specifies the time-to-live, in minutes, for the result of scanning a path for Git repositories."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en cache du résultat du scan d'un chemin dans le dépôt Git."
#. type: deftypevr
#: doc/guix.texi:20475
@@ -37923,7 +37926,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-about-ttl"
#. type: deftypevr
#: doc/guix.texi:20478
msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository about page."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en cache de la page « à propos » du dépôt."
#. type: deftypevr
#: doc/guix.texi:20483
@@ -37934,7 +37937,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-snapshot-ttl"
#. type: deftypevr
#: doc/guix.texi:20486
msgid "Number which specifies the time-to-live, in minutes, for the cached version of snapshots."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en cache des archives."
#. type: deftypevr
#: doc/guix.texi:20491
@@ -37945,7 +37948,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer cache-size"
#. type: deftypevr
#: doc/guix.texi:20494
msgid "The maximum number of entries in the cgit cache. When set to @samp{0}, caching is disabled."
-msgstr ""
+msgstr "Le nombre maximum d'entrées dans le cache de cgit. Lorsque la valeur est @samp{0}, le cache est désactivé."
#. type: deftypevr
#: doc/guix.texi:20499
@@ -37956,7 +37959,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean case-sensitive-sort?"
#. type: deftypevr
#: doc/guix.texi:20501
msgid "Sort items in the repo list case sensitively."
-msgstr ""
+msgstr "Indique si le tri des éléments est sensible à la casse."
#. type: deftypevr
#: doc/guix.texi:20506
@@ -37967,7 +37970,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list clone-prefix"
#. type: deftypevr
#: doc/guix.texi:20509
msgid "List of common prefixes which, when combined with a repository URL, generates valid clone URLs for the repository."
-msgstr ""
+msgstr "Liste des préfixes communs qui, lorsqu'ils sont combinés à l'URL du dépôt, génèrent des URL de clone valides pour le dépôt."
#. type: deftypevr
#: doc/guix.texi:20514
@@ -37978,7 +37981,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list clone-url"
#. type: deftypevr
#: doc/guix.texi:20516
msgid "List of @code{clone-url} templates."
-msgstr ""
+msgstr "Liste des modèles @code{clone-url}"
#. type: deftypevr
#: doc/guix.texi:20521
@@ -37989,7 +37992,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object commit-filter"
#. type: deftypevr
#: doc/guix.texi:20523
msgid "Command which will be invoked to format commit messages."
-msgstr ""
+msgstr "Commande qui sera invoquée pour formater les messages de commit."
#. type: deftypevr
#: doc/guix.texi:20528
@@ -38000,7 +38003,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string commit-sort"
#. type: deftypevr
#: doc/guix.texi:20532 doc/guix.texi:21090
msgid "Flag which, when set to @samp{date}, enables strict date ordering in the commit log, and when set to @samp{topo} enables strict topological ordering."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{date}, active le tri par date strict dans le messages de commit, et le tri topologique strict lorsqu'il vaut @samp{topo}."
#. type: deftypevr
#: doc/guix.texi:20534
@@ -38016,7 +38019,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object css"
#. type: deftypevr
#: doc/guix.texi:20539
msgid "URL which specifies the css document to include in all cgit pages."
-msgstr ""
+msgstr "URL qui spécifie le document css à inclure dans les pages cgit."
#. type: deftypevr
#: doc/guix.texi:20541
@@ -38032,7 +38035,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object email-filter"
#. type: deftypevr
#: doc/guix.texi:20548
msgid "Specifies a command which will be invoked to format names and email address of committers, authors, and taggers, as represented in various places throughout the cgit interface."
-msgstr ""
+msgstr "Spécifie une commande qui sera invoquée pour formater les noms et l'adresse de courriel des commiteurs, des auteurs et des taggueurs, représentés à plusieurs endroits dans l'interface cgit."
#. type: deftypevr
#: doc/guix.texi:20553
@@ -38043,7 +38046,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean embedded?"
#. type: deftypevr
#: doc/guix.texi:20556
msgid "Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment suitable for embedding in other HTML pages."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera générer un fragment HTML à cgit qu'il sera possible d'inclure dans d'autres pages HTML."
#. type: deftypevr
#: doc/guix.texi:20561
@@ -38054,7 +38057,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-commit-graph?"
#. type: deftypevr
#: doc/guix.texi:20565
msgid "Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit history graph to the left of the commit messages in the repository log page."
-msgstr ""
+msgstr "Drapeau qui, lorsqu'il vaut @samp{#t}, fera afficher un historique en ASCII-art à gauche des messages de commit dans la page de log du dépôt."
#. type: deftypevr
#: doc/guix.texi:20570
@@ -38065,7 +38068,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-filter-override
#. type: deftypevr
#: doc/guix.texi:20573
msgid "Flag which, when set to @samp{#t}, allows all filter settings to be overridden in repository-specific cgitrc files."
-msgstr ""
+msgstr "Drapeau qui, lorsqu'il vaut @samp{#t}, permet à tous les paramètres de filtrage d'être modifiés dans des fichiers cgitrc spécifiques au dépôt."
#. type: deftypevr
#: doc/guix.texi:20578
@@ -38076,7 +38079,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-follow-links?"
#. type: deftypevr
#: doc/guix.texi:20581
msgid "Flag which, when set to @samp{#t}, allows users to follow a file in the log view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, permet aux utilisateurs de suivre un fichier dans la vue « log »."
#. type: deftypevr
#: doc/guix.texi:20586
@@ -38087,7 +38090,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-http-clone?"
#. type: deftypevr
#: doc/guix.texi:20589
msgid "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, cgit agira comme un point d'accès HTTP idiot pour les clones Git."
#. type: deftypevr
#: doc/guix.texi:20594
@@ -38098,7 +38101,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-index-links?"
#. type: deftypevr
#: doc/guix.texi:20597
msgid "Flag which, when set to @samp{#t}, will make cgit generate extra links \"summary\", \"commit\", \"tree\" for each repo in the repository index."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera générer des liens « résumé », « commit » et « arborescence » supplémentaires poru chaque dépôt dans l'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20602
@@ -38109,7 +38112,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-index-owner?"
#. type: deftypevr
#: doc/guix.texi:20605
msgid "Flag which, when set to @samp{#t}, will make cgit display the owner of each repo in the repository index."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher le propriétaire de chaque dépôt dans l'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20610
@@ -38120,7 +38123,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-log-filecount?"
#. type: deftypevr
#: doc/guix.texi:20613
msgid "Flag which, when set to @samp{#t}, will make cgit print the number of modified files for each commit on the repository log page."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de fichiers modifiés pour chaque commit sur la page de log du dépôt."
#. type: deftypevr
#: doc/guix.texi:20618
@@ -38131,7 +38134,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-log-linecount?"
#. type: deftypevr
#: doc/guix.texi:20621
msgid "Flag which, when set to @samp{#t}, will make cgit print the number of added and removed lines for each commit on the repository log page."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de lignes ajoutées et enlevées pour chaque commit de la page de log du dépôt."
#. type: deftypevr
#: doc/guix.texi:20626
@@ -38142,7 +38145,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-remote-branches
#. type: deftypevr
#: doc/guix.texi:20629 doc/guix.texi:21153
msgid "Flag which, when set to @code{#t}, will make cgit display remote branches in the summary and refs views."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher les branches distantes dans les vues du résumé et des références."
#. type: deftypevr
#: doc/guix.texi:20634
@@ -38153,7 +38156,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-subject-links?"
#. type: deftypevr
#: doc/guix.texi:20638
msgid "Flag which, when set to @code{1}, will make cgit use the subject of the parent commit as link text when generating links to parent commits in commit view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{1}, fera utiliser à cgit le sujet du commit parent comme texte du lien lors de la génération des liens vers les commits parents dans la vue des commits."
#. type: deftypevr
#: doc/guix.texi:20643
@@ -38164,7 +38167,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-html-serving?"
#. type: deftypevr
#: doc/guix.texi:20647
msgid "Flag which, when set to @samp{#t}, will make cgit use the subject of the parent commit as link text when generating links to parent commits in commit view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera utiliser à cgit l esujet du commit parent comme texte du lien lors de la génération des liens vers le commit parent dans la vue des commits."
#. type: deftypevr
#: doc/guix.texi:20652
@@ -38175,7 +38178,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-tree-linenumber
#. type: deftypevr
#: doc/guix.texi:20655
msgid "Flag which, when set to @samp{#t}, will make cgit generate linenumber links for plaintext blobs printed in the tree view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera générer à cgit des liens vers le numéro de ligne pour les blobs en texte brut affichés dans la vue de l'arborescence."
#. type: deftypevr
#: doc/guix.texi:20660
@@ -38186,7 +38189,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean enable-git-config?"
#. type: deftypevr
#: doc/guix.texi:20663
msgid "Flag which, when set to @samp{#f}, will allow cgit to use Git config to set any repo specific settings."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, permettra à cgit d'utiliser la configuration Git pour spécifier des paramètres spécifiques au dépôt."
#. type: deftypevr
#: doc/guix.texi:20668
@@ -38197,7 +38200,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object favicon"
#. type: deftypevr
#: doc/guix.texi:20670
msgid "URL used as link to a shortcut icon for cgit."
-msgstr ""
+msgstr "URL utilisée comme lien vers un icône pour cgit."
#. type: deftypevr
#: doc/guix.texi:20672
@@ -38213,7 +38216,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string footer"
#. type: deftypevr
#: doc/guix.texi:20679
msgid "The content of the file specified with this option will be included verbatim at the bottom of all pages (i.e. it replaces the standard \"generated by...\" message)."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus directement au bas de toutes les pages (c.-à-d.@: qu'il remplace le message « généré par … » générique)."
#. type: deftypevr
#: doc/guix.texi:20684
@@ -38224,7 +38227,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string head-include"
#. type: deftypevr
#: doc/guix.texi:20687
msgid "The content of the file specified with this option will be included verbatim in the HTML HEAD section on all pages."
-msgstr ""
+msgstr "Le contenu du fichier spécifié dans cette option sera inclus directement dans la section HEAD HTML de toutes les pages."
#. type: deftypevr
#: doc/guix.texi:20692
@@ -38235,7 +38238,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string header"
#. type: deftypevr
#: doc/guix.texi:20695
msgid "The content of the file specified with this option will be included verbatim at the top of all pages."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus directement au début de toutes les pages."
#. type: deftypevr
#: doc/guix.texi:20700
@@ -38246,7 +38249,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object include"
#. type: deftypevr
#: doc/guix.texi:20703
msgid "Name of a configfile to include before the rest of the current config- file is parsed."
-msgstr ""
+msgstr "Nom d'un fichier de configuration à inclure avant que le reste du fichier de configuration actuel ne soit analysé."
#. type: deftypevr
#: doc/guix.texi:20708
@@ -38257,7 +38260,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string index-header"
#. type: deftypevr
#: doc/guix.texi:20711
msgid "The content of the file specified with this option will be included verbatim above the repository index."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus directement au dessus de l'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20716
@@ -38268,7 +38271,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string index-info"
#. type: deftypevr
#: doc/guix.texi:20719
msgid "The content of the file specified with this option will be included verbatim below the heading on the repository index page."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus directement en dessous de l'en-tête sur la page d'index du dépôt."
#. type: deftypevr
#: doc/guix.texi:20724
@@ -38279,7 +38282,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean local-time?"
#. type: deftypevr
#: doc/guix.texi:20727
msgid "Flag which, if set to @samp{#t}, makes cgit print commit and tag times in the servers timezone."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit l'heure et la date de commit et de tag dans le fuseau horaire du serveur."
#. type: deftypevr
#: doc/guix.texi:20732
@@ -38290,7 +38293,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object logo"
#. type: deftypevr
#: doc/guix.texi:20735
msgid "URL which specifies the source of an image which will be used as a logo on all cgit pages."
-msgstr ""
+msgstr "URL qui spécifie la source d'une image utilisé comme logo sur toutes les pages cgit."
#. type: deftypevr
#: doc/guix.texi:20737
@@ -38306,7 +38309,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string logo-link"
#. type: deftypevr
#: doc/guix.texi:20742 doc/guix.texi:21199
msgid "URL loaded when clicking on the cgit logo image."
-msgstr ""
+msgstr "URL chargée lors du clic sur l'image du logo de cgit."
#. type: deftypevr
#: doc/guix.texi:20747
@@ -38317,7 +38320,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object owner-filter"
#. type: deftypevr
#: doc/guix.texi:20750
msgid "Command which will be invoked to format the Owner column of the main page."
-msgstr ""
+msgstr "Commande qui sera invoquée pour formater la colonne propriétaire sur la page principale."
#. type: deftypevr
#: doc/guix.texi:20755
@@ -38328,7 +38331,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer max-atom-items"
#. type: deftypevr
#: doc/guix.texi:20757
msgid "Number of items to display in atom feeds view."
-msgstr ""
+msgstr "Nombre d'éléments à afficher dans la vue des flux atom."
#. type: deftypevr
#: doc/guix.texi:20759 doc/guix.texi:20994 doc/guix.texi:21002
@@ -38345,7 +38348,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer max-commit-count"
#. type: deftypevr
#: doc/guix.texi:20764
msgid "Number of entries to list per page in \"log\" view."
-msgstr ""
+msgstr "Nombre d'éléments à lister par page dans la vue « log »."
#. type: deftypevr
#: doc/guix.texi:20766 doc/guix.texi:20781
@@ -38361,7 +38364,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer max-message-length"
#. type: deftypevr
#: doc/guix.texi:20771
msgid "Number of commit message characters to display in \"log\" view."
-msgstr ""
+msgstr "Nombre caractères de messages de commit à afficher dans la vue « log »."
#. type: deftypevr
#: doc/guix.texi:20773 doc/guix.texi:20789
@@ -38377,7 +38380,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer max-repo-count"
#. type: deftypevr
#: doc/guix.texi:20779
msgid "Specifies the number of entries to list per page on the repository index page."
-msgstr ""
+msgstr "Spécifie le nombre d'éléments à lister par page sur la page de l'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20784
@@ -38388,7 +38391,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer max-repodesc-length"
#. type: deftypevr
#: doc/guix.texi:20787
msgid "Specifies the maximum number of repo description characters to display on the repository index page."
-msgstr ""
+msgstr "Spécifie le nombre maximum de caractères de description de dépôts à afficher sur la page d'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20792
@@ -38399,7 +38402,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer max-blob-size"
#. type: deftypevr
#: doc/guix.texi:20794
msgid "Specifies the maximum size of a blob to display HTML for in KBytes."
-msgstr ""
+msgstr "Spécifie la taille maximale d'un blob pour lequel afficher du HTML en kilo-octets."
#. type: deftypevr
#: doc/guix.texi:20799
@@ -38410,7 +38413,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string max-stats"
#. type: deftypevr
#: doc/guix.texi:20802
msgid "Maximum statistics period. Valid values are @samp{week},@samp{month}, @samp{quarter} and @samp{year}."
-msgstr ""
+msgstr "Période de statistiques maximale. Les valeurs valides sont @samp{week}, @samp{month}, @samp{quarter} et @samp{year}."
#. type: deftypevr
#: doc/guix.texi:20807
@@ -38421,7 +38424,7 @@ msgstr "{paramètre de @code{cgit-configuration}} mimetype-alist mimetype"
#. type: deftypevr
#: doc/guix.texi:20809
msgid "Mimetype for the specified filename extension."
-msgstr ""
+msgstr "Type mime pour l'extension de fichier spécifiée."
#. type: deftypevr
#: doc/guix.texi:20813
@@ -38437,7 +38440,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object mimetype-file"
#. type: deftypevr
#: doc/guix.texi:20818
msgid "Specifies the file to use for automatic mimetype lookup."
-msgstr ""
+msgstr "Spécifie le fichier à utiliser pour la recherche automatique de type mime."
#. type: deftypevr
#: doc/guix.texi:20823
@@ -38448,7 +38451,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string module-link"
#. type: deftypevr
#: doc/guix.texi:20826
msgid "Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing."
-msgstr ""
+msgstr "Texte qui sera utilisé comme chaîne de formatage pour un lien hypertexte lorsqu'un sous-module est affiché dans la liste du répertoire."
#. type: deftypevr
#: doc/guix.texi:20831
@@ -38459,7 +38462,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean nocache?"
#. type: deftypevr
#: doc/guix.texi:20833
msgid "If set to the value @samp{#t} caching will be disabled."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, le cache est désactivé."
#. type: deftypevr
#: doc/guix.texi:20838
@@ -38470,7 +38473,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean noplainemail?"
#. type: deftypevr
#: doc/guix.texi:20841
msgid "If set to @samp{#t} showing full author email addresses will be disabled."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, l'affichage des adresse de courriel des auteurs sera désactivé."
#. type: deftypevr
#: doc/guix.texi:20846
@@ -38481,7 +38484,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean noheader?"
#. type: deftypevr
#: doc/guix.texi:20849
msgid "Flag which, when set to @samp{#t}, will make cgit omit the standard header on all pages."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera omettre à cgit l'en-tête standard sur toutes les pages."
#. type: deftypevr
#: doc/guix.texi:20854
@@ -38492,7 +38495,7 @@ msgstr "{paramètre de @code{cgit-configuration}} project-list project-list"
#. type: deftypevr
#: doc/guix.texi:20858
msgid "A list of subdirectories inside of @code{repository-directory}, relative to it, that should loaded as Git repositories. An empty list means that all subdirectories will be loaded."
-msgstr ""
+msgstr "UNe liste de sous-répertoires dans @code{repository-directory}, relativement à lui, qui devrait être chargé comme des dépôts Git. Une liste vide signifie que tous les sous-répertoires seront chargés."
#. type: deftypevr
#: doc/guix.texi:20863
@@ -38503,7 +38506,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object readme"
#. type: deftypevr
#: doc/guix.texi:20865
msgid "Text which will be used as default value for @code{cgit-repo-readme}."
-msgstr ""
+msgstr "Texte utilisé comme valeur par défaut pour @code{cgit-repo-readme}."
#. type: deftypevr
#: doc/guix.texi:20870
@@ -38514,7 +38517,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean remove-suffix?"
#. type: deftypevr
#: doc/guix.texi:20874
msgid "If set to @code{#t} and @code{repository-directory} is enabled, if any repositories are found with a suffix of @code{.git}, this suffix will be removed for the URL and name."
-msgstr ""
+msgstr "Si la valeur est @code{#t} et que @code{repository-directory} est activé, si un dépôt avec un suffixe de @code{.git} est trouvé, ce suffixe sera supprimé de l'URL et du nom."
#. type: deftypevr
#: doc/guix.texi:20879
@@ -38525,7 +38528,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer renamelimit"
#. type: deftypevr
#: doc/guix.texi:20881
msgid "Maximum number of files to consider when detecting renames."
-msgstr ""
+msgstr "Nombre maximum de fichiers à considérer lors de la détection des renommages."
#. type: deftypevr
#: doc/guix.texi:20886
@@ -38536,7 +38539,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string repository-sort"
#. type: deftypevr
#: doc/guix.texi:20888
msgid "The way in which repositories in each section are sorted."
-msgstr ""
+msgstr "La manière dont les dépôt de chaque section sont rangés."
#. type: deftypevr
#: doc/guix.texi:20893
@@ -38547,7 +38550,7 @@ msgstr "{paramètre de @code{cgit-configuration}} robots-list robots"
#. type: deftypevr
#: doc/guix.texi:20895
msgid "Text used as content for the @code{robots} meta-tag."
-msgstr ""
+msgstr "Texte utilisé comme contenu du méta-attribut @code{robots}."
#. type: deftypevr
#: doc/guix.texi:20897
@@ -38563,7 +38566,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string root-desc"
#. type: deftypevr
#: doc/guix.texi:20902
msgid "Text printed below the heading on the repository index page."
-msgstr ""
+msgstr "Texte affiché en dessous de l'en-tête de la page d'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20904
@@ -38579,7 +38582,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string root-readme"
#. type: deftypevr
#: doc/guix.texi:20910
msgid "The content of the file specified with this option will be included verbatim below thef \"about\" link on the repository index page."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus directement en dessous du lien « à propos » sur la page d'index du dépôt."
#. type: deftypevr
#: doc/guix.texi:20915
@@ -38590,7 +38593,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string root-title"
#. type: deftypevr
#: doc/guix.texi:20917
msgid "Text printed as heading on the repository index page."
-msgstr ""
+msgstr "Texte affiché sur la page d'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:20922
@@ -38601,7 +38604,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean scan-hidden-path"
#. type: deftypevr
#: doc/guix.texi:20928
msgid "If set to @samp{#t} and repository-directory is enabled, repository-directory will recurse into directories whose name starts with a period. Otherwise, repository-directory will stay away from such directories, considered as \"hidden\". Note that this does not apply to the \".git\" directory in non-bare repos."
-msgstr ""
+msgstr "Si la valeur est @samp{#t} et que repository-directory est activé, repository-directory recherchera de manière récursive dans les répertoires dont le nom commence par un point. Sinon, repository-directory restera hors de ces répertoires, considérés comme « cachés ». Remarquez que cela ne s'applique pas au répertoire « .git » dans le dépôts."
#. type: deftypevr
#: doc/guix.texi:20933
@@ -38612,7 +38615,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list snapshots"
#. type: deftypevr
#: doc/guix.texi:20936
msgid "Text which specifies the default set of snapshot formats that cgit generates links for."
-msgstr ""
+msgstr "Texte qui spécifie l'ensemble des formats d'archives par défaut pour lesquelles cgit générera un lien."
#. type: deftypevr
#: doc/guix.texi:20941
@@ -38623,7 +38626,7 @@ msgstr "{paramètre de @code{cgit-configuration}} repository-directory repositor
#. type: deftypevr
#: doc/guix.texi:20944
msgid "Name of the directory to scan for repositories (represents @code{scan-path})."
-msgstr ""
+msgstr "Nom du répertoire à scanner pour trouver les dépôts (représente @code{scan-path})."
#. type: deftypevr
#: doc/guix.texi:20946
@@ -38639,7 +38642,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string section"
#. type: deftypevr
#: doc/guix.texi:20952 doc/guix.texi:21268
msgid "The name of the current repository section - all repositories defined after this option will inherit the current section name."
-msgstr ""
+msgstr "Le nom de la section de dépôts actuelle — tous les dépôts définis après ce point hériterons du nom de section actuel."
#. type: deftypevr
#: doc/guix.texi:20957
@@ -38650,7 +38653,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string section-sort"
#. type: deftypevr
#: doc/guix.texi:20960
msgid "Flag which, when set to @samp{1}, will sort the sections on the repository listing by name."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{1}, triera les sections dans la liste des dépôts par nom."
#. type: deftypevr
#: doc/guix.texi:20965
@@ -38661,7 +38664,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer section-from-path"
#. type: deftypevr
#: doc/guix.texi:20968
msgid "A number which, if defined prior to repository-directory, specifies how many path elements from each repo path to use as a default section name."
-msgstr ""
+msgstr "Un nombre qui, s'il est défini avant repository-directory, spécifier combien d'éléments de chemin de chaque chemin de dépôt utiliser comme nom de section par défaut."
#. type: deftypevr
#: doc/guix.texi:20973
@@ -38672,7 +38675,7 @@ msgstr "{paramètre de @code{cgit-configuration}} boolean side-by-side-diffs?"
#. type: deftypevr
#: doc/guix.texi:20976
msgid "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, afficher des diffs côte à côte au lieu des unidiffs par défaut."
#. type: deftypevr
#: doc/guix.texi:20981
@@ -38683,7 +38686,7 @@ msgstr "{paramètre de @code{cgit-configuration}} file-object source-filter"
#. type: deftypevr
#: doc/guix.texi:20984
msgid "Specifies a command which will be invoked to format plaintext blobs in the tree view."
-msgstr ""
+msgstr "Spécifie une commande qui sera invoquée pour formater les blobs en texte brut dans la vue de l'arborescence."
#. type: deftypevr
#: doc/guix.texi:20989
@@ -38694,7 +38697,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer summary-branches"
#. type: deftypevr
#: doc/guix.texi:20992
msgid "Specifies the number of branches to display in the repository \"summary\" view."
-msgstr ""
+msgstr "Spécifie le nombre de branches à afficher dans la vue de résumé du dépôt."
#. type: deftypevr
#: doc/guix.texi:20997
@@ -38705,7 +38708,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer summary-log"
#. type: deftypevr
#: doc/guix.texi:21000
msgid "Specifies the number of log entries to display in the repository \"summary\" view."
-msgstr ""
+msgstr "Spécifie le nombre d'élément du journal à afficher dans la vue résumé du dépôt."
#. type: deftypevr
#: doc/guix.texi:21005
@@ -38716,7 +38719,7 @@ msgstr "{paramètre de @code{cgit-configuration}} integer summary-tags"
#. type: deftypevr
#: doc/guix.texi:21008
msgid "Specifies the number of tags to display in the repository \"summary\" view."
-msgstr ""
+msgstr "Spécifie le nombre de tags à afficher dans la vue résumé du dépôt."
#. type: deftypevr
#: doc/guix.texi:21013
@@ -38727,7 +38730,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string strict-export"
#. type: deftypevr
#: doc/guix.texi:21016
msgid "Filename which, if specified, needs to be present within the repository for cgit to allow access to that repository."
-msgstr ""
+msgstr "Nom de fichier qui, s'il est spécifié, doit être présent dans le dépôt pour que cgit accorde l'accès à ce dépôt."
#. type: deftypevr
#: doc/guix.texi:21021
@@ -38738,7 +38741,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string virtual-root"
#. type: deftypevr
#: doc/guix.texi:21023
msgid "URL which, if specified, will be used as root for all cgit links."
-msgstr ""
+msgstr "URL qui, si elle est spécifiée, sera utilisée comme racine pour tous les liens cgit."
#. type: deftypevr
#: doc/guix.texi:21025
@@ -38754,7 +38757,7 @@ msgstr "{paramètre de @code{cgit-configuration}} repository-cgit-configuration-
#. type: deftypevr
#: doc/guix.texi:21030
msgid "A list of @dfn{cgit-repo} records to use with config."
-msgstr ""
+msgstr "Une liste d'enregistrements @dfn{cgit-repo} à utiliser avec config."
#. type: deftypevr
#: doc/guix.texi:21034
@@ -38770,7 +38773,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-list snapshots
#. type: deftypevr
#: doc/guix.texi:21038
msgid "A mask of snapshot formats for this repo that cgit generates links for, restricted by the global @code{snapshots} setting."
-msgstr ""
+msgstr "Un masque de formats d'archives pour ce dépôt pour lesquelles cgit générera un lien, restreint par le paramètre @code{snapshots} global."
#. type: deftypevr
#: doc/guix.texi:21043
@@ -38781,7 +38784,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-file-object so
#. type: deftypevr
#: doc/guix.texi:21045
msgid "Override the default @code{source-filter}."
-msgstr ""
+msgstr "Modifie le @code{source-filter} par défaut."
#. type: deftypevr
#: doc/guix.texi:21050
@@ -38792,7 +38795,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string url"
#. type: deftypevr
#: doc/guix.texi:21052
msgid "The relative URL used to access the repository."
-msgstr ""
+msgstr "URL relative utilisée pour accéder au dépôt."
#. type: deftypevr
#: doc/guix.texi:21057
@@ -38803,7 +38806,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-file-object ab
#. type: deftypevr
#: doc/guix.texi:21059
msgid "Override the default @code{about-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{about-filter} par défaut."
#. type: deftypevr
#: doc/guix.texi:21064
@@ -38814,7 +38817,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string branch-
#. type: deftypevr
#: doc/guix.texi:21067
msgid "Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set to @samp{name} enables ordering by branch name."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{age}, active le tri par date dans la liste des branches, et lorsqu'il vaut @samp{name}, le tri par nom."
#. type: deftypevr
#: doc/guix.texi:21072
@@ -38825,7 +38828,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-list clone-url
#. type: deftypevr
#: doc/guix.texi:21074
msgid "A list of URLs which can be used to clone repo."
-msgstr ""
+msgstr "Un liste d'URL qui peuvent être utilisées pour cloner ce dépôt."
#. type: deftypevr
#: doc/guix.texi:21079
@@ -38836,7 +38839,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-file-object co
#. type: deftypevr
#: doc/guix.texi:21081
msgid "Override the default @code{commit-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{commit-filter} par défaut."
#. type: deftypevr
#: doc/guix.texi:21086
@@ -38853,7 +38856,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string defbran
#. type: deftypevr
#: doc/guix.texi:21100
msgid "The name of the default branch for this repository. If no such branch exists in the repository, the first branch name (when sorted) is used as default instead. By default branch pointed to by HEAD, or \"master\" if there is no suitable HEAD."
-msgstr ""
+msgstr "Le nom de la branche par défaut de ce dépôt. Si cette branche n'existe pas dans le dépôt, le premier nom de branche (trié) sera utilisé par défaut. Par défaut la branche pointée par HEAD, ou « master » s'il n'y a pas de HEAD convenable."
#. type: deftypevr
#: doc/guix.texi:21105
@@ -38864,7 +38867,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string desc"
#. type: deftypevr
#: doc/guix.texi:21107
msgid "The value to show as repository description."
-msgstr ""
+msgstr "La valeur à afficher comme description du dépôt."
#. type: deftypevr
#: doc/guix.texi:21112
@@ -38875,7 +38878,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string homepag
#. type: deftypevr
#: doc/guix.texi:21114
msgid "The value to show as repository homepage."
-msgstr ""
+msgstr "La valeur à afficher comme page d'accueil du dépôt."
#. type: deftypevr
#: doc/guix.texi:21119
@@ -38886,7 +38889,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-file-object em
#. type: deftypevr
#: doc/guix.texi:21121
msgid "Override the default @code{email-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{email-filter} par défaut."
#. type: deftypevr
#: doc/guix.texi:21126
@@ -38897,7 +38900,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean
#. type: deftypevr
#: doc/guix.texi:21129
msgid "A flag which can be used to disable the global setting @code{enable-commit-graph?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour désactiver le paramètre @code{enable-commit-graph?} global."
#. type: deftypevr
#: doc/guix.texi:21134
@@ -38908,7 +38911,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean
#. type: deftypevr
#: doc/guix.texi:21137
msgid "A flag which can be used to disable the global setting @code{enable-log-filecount?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour désactiver le paramètre @code{enable-log-filecount?} global."
#. type: deftypevr
#: doc/guix.texi:21142
@@ -38919,7 +38922,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean
#. type: deftypevr
#: doc/guix.texi:21145
msgid "A flag which can be used to disable the global setting @code{enable-log-linecount?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour désactiver le paramètre @code{enable-log-linecount?} global."
#. type: deftypevr
#: doc/guix.texi:21150
@@ -38936,7 +38939,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean
#. type: deftypevr
#: doc/guix.texi:21161
msgid "A flag which can be used to override the global setting @code{enable-subject-links?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour modifier le paramètre @code{enable-subject-links?} global."
#. type: deftypevr
#: doc/guix.texi:21166
@@ -38947,7 +38950,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} maybe-repo-boolean
#. type: deftypevr
#: doc/guix.texi:21169
msgid "A flag which can be used to override the global setting @code{enable-html-serving?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour modifier le paramètre @code{enable-html-serving?} global."
#. type: deftypevr
#: doc/guix.texi:21174
@@ -38958,7 +38961,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-boolean hide?"
#. type: deftypevr
#: doc/guix.texi:21177
msgid "Flag which, when set to @code{#t}, hides the repository from the repository index."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @code{#t}, cache le dépôt de l'index des dépôts."
#. type: deftypevr
#: doc/guix.texi:21182
@@ -38969,7 +38972,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-boolean ignore
#. type: deftypevr
#: doc/guix.texi:21184
msgid "Flag which, when set to @samp{#t}, ignores the repository."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @code{#t}, ignore le dépôt."
#. type: deftypevr
#: doc/guix.texi:21189
@@ -38980,7 +38983,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-file-object lo
#. type: deftypevr
#: doc/guix.texi:21192
msgid "URL which specifies the source of an image which will be used as a logo on this repo’s pages."
-msgstr ""
+msgstr "URL qui spécifie la source d'une image qui sera utilisée comme logo sur les pages de ce dépôt."
#. type: deftypevr
#: doc/guix.texi:21197
@@ -38997,7 +39000,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-file-object ow
#. type: deftypevr
#: doc/guix.texi:21206
msgid "Override the default @code{owner-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{owner-filter} par défaut."
#. type: deftypevr
#: doc/guix.texi:21211
@@ -39008,7 +39011,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string module-
#. type: deftypevr
#: doc/guix.texi:21215
msgid "Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing. The arguments for the formatstring are the path and SHA1 of the submodule commit."
-msgstr ""
+msgstr "Texte qui sera utilisé comme chaîne de formatage pour un lien hypertexte lorsqu'un sous-module est affiché dans une liste de fichiers. Les arguments pour la chaîne de formatage sont le chemin et le SHA1 du commit du sous-module."
#. type: deftypevr
#: doc/guix.texi:21220
@@ -39019,7 +39022,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} module-link-path mo
#. type: deftypevr
#: doc/guix.texi:21224
msgid "Text which will be used as the formatstring for a hyperlink when a submodule with the specified subdirectory path is printed in a directory listing."
-msgstr ""
+msgstr "Texte qui sera utilisé comme chaîne de formatage lorsqu'un sous-module avec un chemin spécifié sera affiché dans une liste de fichiers."
#. type: deftypevr
#: doc/guix.texi:21229
@@ -39030,7 +39033,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string max-sta
#. type: deftypevr
#: doc/guix.texi:21231
msgid "Override the default maximum statistics period."
-msgstr ""
+msgstr "Modifie la période de statistique maximale par défaut."
#. type: deftypevr
#: doc/guix.texi:21236
@@ -39041,7 +39044,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string name"
#. type: deftypevr
#: doc/guix.texi:21238
msgid "The value to show as repository name."
-msgstr ""
+msgstr "La valeur à afficher comme nom de dépôt."
#. type: deftypevr
#: doc/guix.texi:21243
@@ -39052,7 +39055,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string owner"
#. type: deftypevr
#: doc/guix.texi:21245
msgid "A value used to identify the owner of the repository."
-msgstr ""
+msgstr "Une valeur utilisée pour identifier le propriétaire du dépôt."
#. type: deftypevr
#: doc/guix.texi:21250
@@ -39063,7 +39066,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string path"
#. type: deftypevr
#: doc/guix.texi:21252
msgid "An absolute path to the repository directory."
-msgstr ""
+msgstr "Un chemin absolu vers le répertoire du dépôt."
#. type: deftypevr
#: doc/guix.texi:21257
@@ -39074,7 +39077,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-string readme"
#. type: deftypevr
#: doc/guix.texi:21260
msgid "A path (relative to repo) which specifies a file to include verbatim as the \"About\" page for this repo."
-msgstr ""
+msgstr "Un chemin (relatif au dépôt) qui spécifie un fichier à inclure directement comme page « À propos » pour ce dépôt."
#. type: deftypevr
#: doc/guix.texi:21265
@@ -39091,7 +39094,7 @@ msgstr "{paramètre de @code{repository-cgit-configuration}} repo-list extra-opt
#. type: deftypevr
#: doc/guix.texi:21275 doc/guix.texi:21284
msgid "Extra options will be appended to cgitrc file."
-msgstr ""
+msgstr "Options supplémentaires ajoutées à la fin du fichier cgitrc."
#. type: deftypevr
#: doc/guix.texi:21282
@@ -39102,7 +39105,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list extra-options"
#. type: Plain text
#: doc/guix.texi:21296
msgid "However, it could be that you just want to get a @code{cgitrc} up and running. In that case, you can pass an @code{opaque-cgit-configuration} as a record to @code{cgit-service-type}. As its name indicates, an opaque configuration does not have easy reflective capabilities."
-msgstr ""
+msgstr "Cependant, vous pourriez vouloir simplement récupérer un @code{cgitrc} et l'utiliser. Dans ce cas, vous pouvez passer un @code{opaque-cgit-configuration} comme enregistrement à @code{cgit-service-type}. Comme son nom l'indique, une configuration opaque n'a pas de capacité de réflexion facile."
#. type: Plain text
#: doc/guix.texi:21298
@@ -39118,7 +39121,7 @@ msgstr "{paramètre de @code{opaque-cgit-configuration}} package cgit"
#. type: deftypevr
#: doc/guix.texi:21301
msgid "The cgit package."
-msgstr ""
+msgstr "Le paquet cgit."
#. type: deftypevr
#: doc/guix.texi:21303
@@ -39129,12 +39132,12 @@ msgstr "{paramètre de @code{opaque-cgit-configuration}} string string"
#. type: deftypevr
#: doc/guix.texi:21305
msgid "The contents of the @code{cgitrc}, as a string."
-msgstr ""
+msgstr "Le contenu de @code{cgitrc}, en tant que chaîne de caractère."
#. type: Plain text
#: doc/guix.texi:21309
msgid "For example, if your @code{cgitrc} is just the empty string, you could instantiate a cgit service like this:"
-msgstr ""
+msgstr "Par exemple, si votre @code{cgitrc} est juste la chaîne vide, vous pouvez instancier un service cgit ainsi :"
#. type: example
#: doc/guix.texi:21314
@@ -39169,17 +39172,17 @@ msgstr "Git, hébergement"
#. type: Plain text
#: doc/guix.texi:21322
msgid "@uref{http://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git repositories on a central server."
-msgstr ""
+msgstr "@uref{http://gitolite.com/gitolite/, Gitolite} est un outil pour héberger des dépôts Git sur un serveur central."
#. type: Plain text
#: doc/guix.texi:21325
msgid "Gitolite can handle multiple repositories and users, and supports flexible configuration of the permissions for the users on the repositories."
-msgstr ""
+msgstr "Gitolite peut gérer plusieurs dépôts et utilisateurs et supporte une configuration flexible des permissions pour les utilisateurs sur ces dépôts."
#. type: Plain text
#: doc/guix.texi:21328
msgid "The following example will configure Gitolite using the default @code{git} user, and the provided SSH public key."
-msgstr ""
+msgstr "L'exemple suivant configure Gitolite en utilisant l'utilisateur @code{git} par défaut et la clef SSH fournie."
#. type: example
#: doc/guix.texi:21335
@@ -39200,18 +39203,18 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:21340
msgid "Gitolite is configured through a special admin repository which you can clone, for example, if you setup Gitolite on @code{example.com}, you would run the following command to clone the admin repository."
-msgstr ""
+msgstr "Gitolite est configuré via un dépôt d'administration spécial que vous pouvez cloner. Par exemple, si vous hébergez Gitolite sur @code{example.com}, vous pouvez lancer la commande suivante pour cloner le dépôt d'administration :"
#. type: example
#: doc/guix.texi:21343
#, no-wrap
msgid "git clone git@@example.com:gitolite-admin\n"
-msgstr ""
+msgstr "git clone git@@example.com:gitolite-admin\n"
#. type: Plain text
#: doc/guix.texi:21349
msgid "When the Gitolite service is activated, the provided @code{admin-pubkey} will be inserted in to the @file{keydir} directory in the gitolite-admin repository. If this results in a change in the repository, it will be committed using the message ``gitolite setup by GNU Guix''."
-msgstr ""
+msgstr "Lorsque le service Gitolite est activé, la clef @code{admin-pubkey} fournie sera insérée dans le répertoire @file{keydir} du dépôt gitolite-admin. Si cela change le dépôt, un commit sera effectué avec le message « gitolite setup by GNU Guix »."
#. type: deftp
#: doc/guix.texi:21350
@@ -39244,7 +39247,7 @@ msgstr "@code{user} (par défaut : @var{git})"
#. type: table
#: doc/guix.texi:21360
msgid "User to use for Gitolite. This will be user that you use when accessing Gitolite over SSH."
-msgstr ""
+msgstr "Utilisateur pour utiliser Gitolite. Cela sera l'utilisateur à utiliser pour accéder à Gitolite par SSH."
#. type: item
#: doc/guix.texi:21361
@@ -39293,7 +39296,7 @@ msgstr "Un objet « simili-fichier » (@pxref{G-Expressions, file-like objects})
#. type: table
#: doc/guix.texi:21377
msgid "To specify the SSH key as a string, use the @code{plain-file} function."
-msgstr ""
+msgstr "Pour spécifier la clef SSH comme chaîne de caractère, utilisez la fonction @code{plain-file}."
#. type: example
#: doc/guix.texi:21380
@@ -39321,12 +39324,12 @@ msgstr "@code{umask} (par défaut : @code{#o0077})"
#. type: table
#: doc/guix.texi:21392
msgid "This controls the permissions Gitolite sets on the repositories and their contents."
-msgstr ""
+msgstr "Cela contrôle les permissions que Gitolite propose sur les dépôts et leur contenu."
#. type: table
#: doc/guix.texi:21396
msgid "A value like @code{#o0027} will give read access to the group used by Gitolite (by default: @code{git}). This is necessary when using Gitolite with software like cgit or gitweb."
-msgstr ""
+msgstr "Une valeur comme @code{#o0027} donnera accès en lecture au groupe utilisé par Gitolite (par défaut : @code{git}). Cel aest nécessaire lorsque vous utilise Gitolite avec un logiciel comme cgit ou gitweb."
#. type: item
#: doc/guix.texi:21397
@@ -39337,7 +39340,7 @@ msgstr "@code{git-config-keys} (par défaut : @code{\"\"})"
#. type: table
#: doc/guix.texi:21400
msgid "Gitolite allows you to set git config values using the \"config\" keyword. This setting allows control over the config keys to accept."
-msgstr ""
+msgstr "Gitolite vous permet de modifier les configurations git avec le mot-clef « config ». Ce paramètre vous permet de contrôler les clefs de configuration acceptables."
#. type: item
#: doc/guix.texi:21401
@@ -39348,7 +39351,7 @@ msgstr "@code{roles} (par défaut : @code{'((\"READERS\" . 1) (\"WRITERS\" . ))}
#. type: table
#: doc/guix.texi:21403
msgid "Set the role names allowed to be used by users running the perms command."
-msgstr ""
+msgstr "Indique les noms des rôles qui peuvent être utilisés par les utilisateurs avec la commande perms."
#. type: item
#: doc/guix.texi:21404
@@ -39359,13 +39362,13 @@ msgstr "@code{enable} (par défaut : @code{'(\"help\" \"desc\" \"info\" \"perms\
#. type: table
#: doc/guix.texi:21406
msgid "This setting controls the commands and features to enable within Gitolite."
-msgstr ""
+msgstr "Ce paramètre contrôle les commandes et les fonctionnalités à activer dans Gitolite."
#. type: subsubheading
#: doc/guix.texi:21414
#, no-wrap
msgid "The Battle for Wesnoth Service"
-msgstr ""
+msgstr "Le service de la Bataille pour Wesnoth"
#. type: cindex
#: doc/guix.texi:21415
@@ -39376,7 +39379,7 @@ msgstr "wesnothd"
#. type: Plain text
#: doc/guix.texi:21419
msgid "@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based tactical strategy game, with several single player campaigns, and multiplayer games (both networked and local)."
-msgstr ""
+msgstr "@uref{https://wesnoth.org, La Bataille pour Wesnoth} est un jeu de stratégie en tour par tour dans un univers fantastique, avec plusieurs campagnes solo et des parties multijoueurs (en réseau et en local)."
#. type: defvar
#: doc/guix.texi:21420
@@ -39387,7 +39390,7 @@ msgstr "{Variable Scheme} wesnothd-service-type"
#. type: defvar
#: doc/guix.texi:21424
msgid "Service type for the wesnothd service. Its value must be a @code{wesnothd-configuration} object. To run wesnothd in the default configuration, instantiate it as:"
-msgstr ""
+msgstr "Type de service pour le service wesnothd. Sa valeur doit être un objet @code{wesnothd-configuration}. Pour lancer wesnothd avec la configuration par défaut, instanciez-le ainsi :"
#. type: example
#: doc/guix.texi:21427
@@ -39404,7 +39407,7 @@ msgstr "{Type de données} wesnothd-configuration"
#. type: deftp
#: doc/guix.texi:21432
msgid "Data type representing the configuration of @command{wesnothd}."
-msgstr ""
+msgstr "Type de donées représentant la configuration de @command{wesnothd}."
#. type: item
#: doc/guix.texi:21434
@@ -39415,7 +39418,7 @@ msgstr "@code{package} (par défaut : @code{wesnoth-server})"
#. type: table
#: doc/guix.texi:21436
msgid "The wesnoth server package to use."
-msgstr ""
+msgstr "Le paquet de serveur de wesnoth à utiliser."
#. type: item
#: doc/guix.texi:21437
@@ -39426,13 +39429,13 @@ msgstr "@code{port} (par défaut : @code{15000})"
#. type: table
#: doc/guix.texi:21439
msgid "The port to bind the server to."
-msgstr ""
+msgstr "Le pour sur lequel lier le serveur."
#. type: cindex
#: doc/guix.texi:21445
#, no-wrap
msgid "fingerprint"
-msgstr ""
+msgstr "empreinte digitale"
#. type: subsubheading
#: doc/guix.texi:21446
@@ -39454,7 +39457,7 @@ msgstr "{Variable Scheme} fprintd-service-type"
#. type: defvr
#: doc/guix.texi:21454
msgid "The service type for @command{fprintd}, which provides the fingerprint reading capability."
-msgstr ""
+msgstr "Le type de service pour @command{fprintd}, qui fournit des capacités de lecture d'empreinte."
#. type: example
#: doc/guix.texi:21457
@@ -39472,12 +39475,12 @@ msgstr "sysctl"
#: doc/guix.texi:21461
#, no-wrap
msgid "System Control Service"
-msgstr ""
+msgstr "Service de contrôle du système"
#. type: Plain text
#: doc/guix.texi:21465
msgid "The @code{(gnu services sysctl)} provides a service to configure kernel parameters at boot."
-msgstr ""
+msgstr "Le module @code{(gnu services sysctl)} fournit un service pour configurer les paramètres du noyau au démarrage."
#. type: defvr
#: doc/guix.texi:21466
@@ -39488,7 +39491,7 @@ msgstr "{Variable Scheme} sysctl-service-type"
#. type: defvr
#: doc/guix.texi:21470
msgid "The service type for @command{sysctl}, which modifies kernel parameters under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated as:"
-msgstr ""
+msgstr "Le type de service pour @command{sysctl}, qui modifie les paramètres du noyau dans @file{/proc/sys/}. Pour activer le transfert d'IPv4, vous pouvez l'instancier ainsi :"
#. type: example
#: doc/guix.texi:21475
@@ -39498,6 +39501,9 @@ msgid ""
" (sysctl-configuration\n"
" (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
msgstr ""
+"(service sysctl-service-type\n"
+" (sysctl-configuration\n"
+" (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
#. type: deftp
#: doc/guix.texi:21478
@@ -39508,7 +39514,7 @@ msgstr "{Type de données} sysctl-configuration"
#. type: deftp
#: doc/guix.texi:21480
msgid "The data type representing the configuration of @command{sysctl}."
-msgstr ""
+msgstr "Le type de données représentant la configuration de @command{sysctl}."
#. type: item
#: doc/guix.texi:21482
@@ -39519,7 +39525,7 @@ msgstr "@code{sysctl} (par défaut : @code{(file-append procps \"/sbin/sysctl\"}
#. type: table
#: doc/guix.texi:21484
msgid "The @command{sysctl} executable to use."
-msgstr ""
+msgstr "L'exécutable @command{sysctl} à utiliser."
#. type: item
#: doc/guix.texi:21485
@@ -39530,7 +39536,7 @@ msgstr "@code{settings} (par défaut : @code{'()})"
#. type: table
#: doc/guix.texi:21487
msgid "An association list specifies kernel parameters and their values."
-msgstr ""
+msgstr "Une liste d'association spécifiant les paramètres du noyau et leur valeur."
#. type: cindex
#: doc/guix.texi:21490
@@ -39542,12 +39548,12 @@ msgstr "pcscd"
#: doc/guix.texi:21491
#, no-wrap
msgid "PC/SC Smart Card Daemon Service"
-msgstr ""
+msgstr "Service du démon PC/SC Smart Card"
#. type: Plain text
#: doc/guix.texi:21498
msgid "The @code{(gnu services security-token)} module provides the following service to run @command{pcscd}, the PC/SC Smart Card Daemon. @command{pcscd} is the daemon program for pcsc-lite and the MuscleCard framework. It is a resource manager that coordinates communications with smart card readers, smart cards and cryptographic tokens that are connected to the system."
-msgstr ""
+msgstr "Le module @code{(gnu services security-token)} fournit le service suivant qui lance @command{pcscd}, le démon PC/SC Smart Card. @command{pcscd} est le démon pour pcsc-lite et MuscleCard. C'est un gestionnaire de ressource qui coordonne les communications avec les lecteurs de smart cards, les smart cards et les jetons cryptographiques connectés au système."
#. type: defvr
#: doc/guix.texi:21499
@@ -39597,7 +39603,7 @@ msgstr "@code{usb-drivers} (par défaut : @code{(list ccid)})"
#. type: table
#: doc/guix.texi:21518
msgid "List of packages that provide USB drivers to pcscd. Drivers are expected to be under @file{pcsc/drivers} in the store directory of the package."
-msgstr ""
+msgstr "Liste des paquets qui fournissent des pilotes USB à pcscd. Les pilotes doivent être dans @file{pcsc/drivers} dans le répertoire du dépôt du paquet."
#. type: cindex
#: doc/guix.texi:21521
@@ -39609,12 +39615,12 @@ msgstr "lirc"
#: doc/guix.texi:21522
#, no-wrap
msgid "Lirc Service"
-msgstr ""
+msgstr "Service Lirc"
#. type: Plain text
#: doc/guix.texi:21525
msgid "The @code{(gnu services lirc)} module provides the following service."
-msgstr ""
+msgstr "Le module @code{(gnu services lirc)} fournit le service suivant."
#. type: deffn
#: doc/guix.texi:21526
@@ -39626,16 +39632,19 @@ msgstr "{Procédure Scheme} lirc-service [#:lirc lirc] @"
#: doc/guix.texi:21531
msgid "[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that decodes infrared signals from remote controls."
msgstr ""
+"[#:device #f] [#:driver #f] [#:config-file #f] @\n"
+"[#:extra-options '()]\n"
+"Renvoie un service qui lance @url{http://www.lirc.org,LIRC}, un démon qui décode les signaux infrarouges des télécommandes."
#. type: deffn
#: doc/guix.texi:21535
msgid "Optionally, @var{device}, @var{driver} and @var{config-file} (configuration file name) may be specified. See @command{lircd} manual for details."
-msgstr ""
+msgstr "Éventuellement, @var{device}, @var{driver} et @var{config-file} (le nom du fichier de configuration) peuvent être spécifiés. Voir le manuel de @command{lircd} pour plus de détails."
#. type: deffn
#: doc/guix.texi:21538
msgid "Finally, @var{extra-options} is a list of additional command-line options passed to @command{lircd}."
-msgstr ""
+msgstr "Enfin, @var{extra-options} est une liste d'options de la ligne de commande supplémentaires à passer à @command{lircd}."
#. type: cindex
#: doc/guix.texi:21540
@@ -39647,12 +39656,12 @@ msgstr "spice"
#: doc/guix.texi:21541
#, no-wrap
msgid "Spice Service"
-msgstr ""
+msgstr "Service Spice"
#. type: Plain text
#: doc/guix.texi:21544
msgid "The @code{(gnu services spice)} module provides the following service."
-msgstr ""
+msgstr "Le module @code{(gnu services spice)} fournit le service suivant."
#. type: deffn
#: doc/guix.texi:21545
@@ -39663,24 +39672,24 @@ msgstr "{Procédure Scheme} spice-vdagent-service [#:spice-vdagent]"
#. type: deffn
#: doc/guix.texi:21549
msgid "Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon that enables sharing the clipboard with a vm and setting the guest display resolution when the graphical console window resizes."
-msgstr ""
+msgstr "Renvoie un service qui lance @url{http://www.spice-space.org,VDAGENT}, un démon qui permet le partage du presse-papier avec une vm et de configurer la résolution d'affichage du client lorsque la fenêtre de la console graphique est redimensionnée."
#. type: subsubsection
#: doc/guix.texi:21551
#, no-wrap
msgid "Dictionary Services"
-msgstr ""
+msgstr "Services de dictionnaires"
#. type: cindex
#: doc/guix.texi:21552
#, no-wrap
msgid "dictionary"
-msgstr ""
+msgstr "dictionnaire"
#. type: Plain text
#: doc/guix.texi:21554
msgid "The @code{(gnu services dict)} module provides the following service:"
-msgstr ""
+msgstr "Le module @code{(gnu services dict)} fournit le service suivant :"
#. type: deffn
#: doc/guix.texi:21555
@@ -39691,17 +39700,17 @@ msgstr "{Procédure Scheme} dicod-service [#:config (dicod-configuration)]"
#. type: deffn
#: doc/guix.texi:21558
msgid "Return a service that runs the @command{dicod} daemon, an implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Renvoie un service qui lance le démon @command{dicod}, une implémentation du serveur DICT (@pxref{Dicod,,, dico, GNU Dico Manual})."
#. type: deffn
#: doc/guix.texi:21562
msgid "The optional @var{config} argument specifies the configuration for @command{dicod}, which should be a @code{<dicod-configuration>} object, by default it serves the GNU Collaborative International Dictonary of English."
-msgstr ""
+msgstr "L'argument @var{config} facultatif spécifie la configuration pour @command{dicod}, qui devrait être un objet @code{<dicod-configuration>}, par défaut il sert le dictionnaire international collaboratif de GNU pour l'anglais."
#. type: deffn
#: doc/guix.texi:21566
msgid "You can add @command{open localhost} to your @file{~/.dico} file to make @code{localhost} the default server for @command{dico} client (@pxref{Initialization File,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Vous pouvez ajouter @command{open localhost} à votre fichier @file{~/.dico} pour faire de @code{localhost} le serveur par défaut du client @command{dico} (@pxref{Initialization File,,, dico, GNU Dico Manual})."
#. type: deftp
#: doc/guix.texi:21568
@@ -39712,7 +39721,7 @@ msgstr "{Type de données} dicod-configuration"
#. type: deftp
#: doc/guix.texi:21570
msgid "Data type representing the configuration of dicod."
-msgstr ""
+msgstr "Type de données représentant la configuration de dicod."
#. type: item
#: doc/guix.texi:21572
@@ -39723,7 +39732,7 @@ msgstr "@code{dico} (par défaut : @var{dico})"
#. type: table
#: doc/guix.texi:21574
msgid "Package object of the GNU Dico dictionary server."
-msgstr ""
+msgstr "Objet de paquet du serveur de dictionnaire GNU Dico."
#. type: item
#: doc/guix.texi:21575
@@ -39734,7 +39743,7 @@ msgstr "@code{interfaces} (par défaut : @var{'(\"localhost\")})"
#. type: table
#: doc/guix.texi:21579
msgid "This is the list of IP addresses and ports and possibly socket file names to listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "C'est la liste des adresses IP et des ports et éventuellement des noms de fichiers de socket sur lesquels écouter (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico Manual})."
#. type: item
#: doc/guix.texi:21580
@@ -39745,7 +39754,7 @@ msgstr "@code{handlers} (par défaut : @var{'()})"
#. type: table
#: doc/guix.texi:21582
msgid "List of @code{<dicod-handler>} objects denoting handlers (module instances)."
-msgstr ""
+msgstr "Liste des objets @code{<dicod-handler>} qui définissent des gestionnaires (des instances de modules)."
#. type: item
#: doc/guix.texi:21583
@@ -39756,7 +39765,7 @@ msgstr "@code{databases} (par défaut : @var{(list %dicod-database:gcide)})"
#. type: table
#: doc/guix.texi:21585
msgid "List of @code{<dicod-database>} objects denoting dictionaries to be served."
-msgstr ""
+msgstr "Liste d'objets @code{<dicod-database>} qui définissent des dictionnaires à servir."
#. type: deftp
#: doc/guix.texi:21588
@@ -39767,12 +39776,12 @@ msgstr "{Type de données} dicod-handler"
#. type: deftp
#: doc/guix.texi:21590
msgid "Data type representing a dictionary handler (module instance)."
-msgstr ""
+msgstr "Type de données représentant un gestionnaire de dictionnaire (instance de module)."
#. type: table
#: doc/guix.texi:21594
msgid "Name of the handler (module instance)."
-msgstr ""
+msgstr "Nom du gestionnaire (instance de module)."
#. type: item
#: doc/guix.texi:21595
@@ -39783,18 +39792,18 @@ msgstr "@code{module} (par défaut : @var{#f})"
#. type: table
#: doc/guix.texi:21599
msgid "Name of the dicod module of the handler (instance). If it is @code{#f}, the module has the same name as the handler. (@pxref{Modules,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Nom du module dicod du gestionnaire (instance). Si la valeur est @code{#f}, le module a le même nom que le gestionnaire. (@pxref{Modules,,, dico, GNU Dico Manual})."
#. type: code{#1}
#: doc/guix.texi:21600 doc/guix.texi:21620
#, no-wrap
msgid "options"
-msgstr ""
+msgstr "options"
#. type: table
#: doc/guix.texi:21602
msgid "List of strings or gexps representing the arguments for the module handler"
-msgstr ""
+msgstr "Liste de chaînes ou de gexps représentant les arguments pour le gestionnaire de module."
#. type: deftp
#: doc/guix.texi:21605
@@ -39805,23 +39814,23 @@ msgstr "{Type de données} dicod-database"
#. type: deftp
#: doc/guix.texi:21607
msgid "Data type representing a dictionary database."
-msgstr ""
+msgstr "Type de données représentant une base de données de dictionnaire."
#. type: table
#: doc/guix.texi:21611
msgid "Name of the database, will be used in DICT commands."
-msgstr ""
+msgstr "Nom de la base de données, qui sera utilisée dans les commande DICT."
#. type: code{#1}
#: doc/guix.texi:21612
#, no-wrap
msgid "handler"
-msgstr ""
+msgstr "handler"
#. type: table
#: doc/guix.texi:21615
msgid "Name of the dicod handler (module instance) used by this database (@pxref{Handlers,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Nom du gestionnaire dicod (instance de module) utilisé par cette base de données (@pxref{Handlers,,, dico, GNU Dico Manual})."
#. type: item
#: doc/guix.texi:21616
@@ -39832,12 +39841,12 @@ msgstr "@code{complex?} (par défaut : @var{#f})"
#. type: table
#: doc/guix.texi:21619
msgid "Whether the database configuration complex. The complex configuration will need a corresponding @code{<dicod-handler>} object, otherwise not."
-msgstr ""
+msgstr "Indique si la configuration est pour une base de données complexe. La configuration complexe a besoin d'un objet @code{<dicod-handler>} correspondant, sinon inutile."
#. type: table
#: doc/guix.texi:21623
msgid "List of strings or gexps representing the arguments for the database (@pxref{Databases,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Liste de chaînes ou de gexps représentant les arguments pour la base de données (@pxref{Databases,,, dico, GNU Dico Manual})."
#. type: defvr
#: doc/guix.texi:21626
@@ -39848,12 +39857,12 @@ msgstr "{Variable Scheme} %dicod-database:gcide"
#. type: defvr
#: doc/guix.texi:21629
msgid "A @code{<dicod-database>} object serving the GNU Collaborative International Dictionary of English using the @code{gcide} package."
-msgstr ""
+msgstr "Un objet @code{<dicod-database>} servant le dictionnaire international collaboratif en anglais via le paquet @code{gcide}."
#. type: Plain text
#: doc/guix.texi:21632
msgid "The following is an example @code{dicod-service} configuration."
-msgstr ""
+msgstr "Voici un exemple de configuration de @code{dicod-service}."
#. type: example
#: doc/guix.texi:21647
@@ -39891,22 +39900,22 @@ msgstr ""
#: doc/guix.texi:21652
#, no-wrap
msgid "setuid programs"
-msgstr ""
+msgstr "programmes setuid"
#. type: Plain text
#: doc/guix.texi:21662
msgid "Some programs need to run with ``root'' privileges, even when they are launched by unprivileged users. A notorious example is the @command{passwd} program, which users can run to change their password, and which needs to access the @file{/etc/passwd} and @file{/etc/shadow} files---something normally restricted to root, for obvious security reasons. To address that, these executables are @dfn{setuid-root}, meaning that they always run with root privileges (@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual}, for more info about the setuid mechanism.)"
-msgstr ""
+msgstr "Certains programmes doivent être lancés avec les privilèges « root » même lorsqu'ils sont lancés par un utilisateur non privilégié. Un exemple notoire est le programme @command{passwd}, que les utilisateurs peuvent appeler pour modifier leur mot de passe et qui doit accéder à @file{/etc/passwd} et @file{/etc/shadow} — ce qui est normalement réservé à root, pour des raisons de sécurité évidentes. Pour contourner cela, ces exécutables sont @dfn{setuid-root}, ce qui signifie qu'ils seront toujours lancés avec les privilèges root (@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual}, pour plus d'informations sur le mécanisme setuid)."
#. type: Plain text
#: doc/guix.texi:21669
msgid "The store itself @emph{cannot} contain setuid programs: that would be a security issue since any user on the system can write derivations that populate the store (@pxref{The Store}). Thus, a different mechanism is used: instead of changing the setuid bit directly on files that are in the store, we let the system administrator @emph{declare} which programs should be setuid root."
-msgstr ""
+msgstr "Le dépôt lui-même ne @emph{peut pas} contenir de programmes setuid ; cela serait un problème de sécurité puisque n'importe quel utilisateur du système peut écrire une dérivation qui rempli le dépôt (@pxref{The Store}). Donc, un mécanisme différent est utilisé : au lieu de changer le bit setuid directement sur les fichiers qui sont dans le dépôt, nous laissons à l'administrateur système le soit de @emph{déclarer} les programmes qui devraient être setuid root."
#. type: Plain text
#: doc/guix.texi:21675
msgid "The @code{setuid-programs} field of an @code{operating-system} declaration contains a list of G-expressions denoting the names of programs to be setuid-root (@pxref{Using the Configuration System}). For instance, the @command{passwd} program, which is part of the Shadow package, can be designated by this G-expression (@pxref{G-Expressions}):"
-msgstr ""
+msgstr "Le champ @code{setuid-programs} d'une déclaration @code{operating-system} contient une liste de G-expressions qui dénotent les noms des programmes à rendre setuid-root (@pxref{Using the Configuration System}). Par exemple, le programme @command{passwd}, qui fait partie du paquet Shadow, peut être désigné par cette G-expression (@pxref{G-Expressions}) :"
#. type: example
#: doc/guix.texi:21678
@@ -39917,7 +39926,7 @@ msgstr "#~(string-append #$shadow \"/bin/passwd\")\n"
#. type: Plain text
#: doc/guix.texi:21682
msgid "A default set of setuid programs is defined by the @code{%setuid-programs} variable of the @code{(gnu system)} module."
-msgstr ""
+msgstr "Un ensemble de programmes par défaut est défini par la variable @code{%setuid-programs} du module @code{(gnu system)}."
#. type: defvr
#: doc/guix.texi:21683
@@ -39928,29 +39937,29 @@ msgstr "{Variable Scheme} %setuid-programs"
#. type: defvr
#: doc/guix.texi:21685
msgid "A list of G-expressions denoting common programs that are setuid-root."
-msgstr ""
+msgstr "Une liste de G-expressions qui dénotent les programmes communément setuid-root."
#. type: defvr
#: doc/guix.texi:21688
msgid "The list includes commands such as @command{passwd}, @command{ping}, @command{su}, and @command{sudo}."
-msgstr ""
+msgstr "La liste inclus des commandes comme @command{passwd}, @command{ping}, @command{su} et @command{sudo}."
#. type: Plain text
#: doc/guix.texi:21694
msgid "Under the hood, the actual setuid programs are created in the @file{/run/setuid-programs} directory at system activation time. The files in this directory refer to the ``real'' binaries, which are in the store."
-msgstr ""
+msgstr "Sous le capot, les programmes setuid sont créés dans le répertoire @file{/run/setuid-programs} au moment de l'activation du système. Les fichiers dans ce répertoire se réfèrent aux « vrais » binaires, qui sont dans le dépot."
#. type: cindex
#: doc/guix.texi:21698
#, no-wrap
msgid "HTTPS, certificates"
-msgstr ""
+msgstr "HTTPS, certificats"
#. type: cindex
#: doc/guix.texi:21699
#, no-wrap
msgid "X.509 certificates"
-msgstr ""
+msgstr "certificats X.509"
#. type: cindex
#: doc/guix.texi:21700
@@ -39961,32 +39970,32 @@ msgstr "TLS"
#. type: Plain text
#: doc/guix.texi:21707
msgid "Web servers available over HTTPS (that is, HTTP over the transport-layer security mechanism, TLS) send client programs an @dfn{X.509 certificate} that the client can then use to @emph{authenticate} the server. To do that, clients verify that the server's certificate is signed by a so-called @dfn{certificate authority} (CA). But to verify the CA's signature, clients must have first acquired the CA's certificate."
-msgstr ""
+msgstr "Les serveurs web disponibles par HTTPS (c'est-à-dire HTTP sur le mécanisme de la couche de transport sécurisée, TLS) envoient aux clients un @dfn{certificat X.509} que les clients peuvent utiliser pour @emph{authentifier} le serveur. Pour cela, les clients vérifient que le certificat du serveur est signé par une @dfn{autorité de certification} (AC ou CA). Mais pour vérifier la signature de la CA, les clients doivent d'abord avoir récupéré le certificat de la CA."
#. type: Plain text
#: doc/guix.texi:21711
msgid "Web browsers such as GNU@tie{}IceCat include their own set of CA certificates, such that they are able to verify CA signatures out-of-the-box."
-msgstr ""
+msgstr "Les navigateurs web comme GNU@tie{}IceCat incluent leur propre liste de certificats, pour qu'ils puissent vérifier les signatures des CA directement."
#. type: Plain text
#: doc/guix.texi:21715
msgid "However, most other programs that can talk HTTPS---@command{wget}, @command{git}, @command{w3m}, etc.---need to be told where CA certificates can be found."
-msgstr ""
+msgstr "Cependant, la plupart des autres programmes qui peuvent parler HTTPS — @command{wget}, @command{git}, @command{w3m}, etc — doivent savoir où trouver les certificats des CA."
#. type: Plain text
#: doc/guix.texi:21722
msgid "In GuixSD, this is done by adding a package that provides certificates to the @code{packages} field of the @code{operating-system} declaration (@pxref{operating-system Reference}). GuixSD includes one such package, @code{nss-certs}, which is a set of CA certificates provided as part of Mozilla's Network Security Services."
-msgstr ""
+msgstr "Dans GuixSD, cela se fait en ajoutant un paquet qui fournit les certificats dans le champ @code{packages} de la déclaration @code{operating-system} (@pxref{operating-system Reference}). GuixSD inclut l'un de ces paquets, @code{nss-certs}, qui est un ensemble de certificats de CA fourni par les services de sécurité réseau de Mozilla (nss)."
#. type: Plain text
#: doc/guix.texi:21727
msgid "Note that it is @emph{not} part of @var{%base-packages}, so you need to explicitly add it. The @file{/etc/ssl/certs} directory, which is where most applications and libraries look for certificates by default, points to the certificates installed globally."
-msgstr ""
+msgstr "Remarquez qu'il ne fait @emph{pas} partie de @var{%base-packages}, donc vous devez explicitement l'ajouter. Le répertoire @file{/etc/ssl/certs}, là où la plupart des applications et bibliothèques vont rechercher les certificats par défaut, pointe vers les certificats installés globalement."
#. type: Plain text
#: doc/guix.texi:21737
msgid "Unprivileged users, including users of Guix on a foreign distro, can also install their own certificate package in their profile. A number of environment variables need to be defined so that applications and libraries know where to find them. Namely, the OpenSSL library honors the @code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables. Some applications add their own environment variables; for instance, the Git version control system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO} environment variable. Thus, you would typically run something like:"
-msgstr ""
+msgstr "Les utilisateurs non privilégiés, dont les utilisateurs de Guix sur une distro externe, peuvent aussi installer leur propre paquet de certificats dans leur profil. Un certain nombre de variables d'environnement doivent être définies pour que les applications et les bibliothèques puissent les trouver. En particulier, la bibliothèque OpenSSL honore les variables @code{SSL_CERT_DIR} et @code{SSL_CERT_FILE}. Certaines applications ajoutent leurs propres variables, par exemple le système de contrôle de version Git honore le lot de certificats pointé par la variable d'environnement @code{GIT_SSL_CAINFO}. Ainsi, vous lanceriez quelque chose comme ceci :"
#. type: example
#: doc/guix.texi:21743
@@ -39997,11 +40006,15 @@ msgid ""
"$ export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
"$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
msgstr ""
+"$ guix package -i nss-certs\n"
+"$ export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n"
+"$ export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
+"$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
#. type: Plain text
#: doc/guix.texi:21748
msgid "As another example, R requires the @code{CURL_CA_BUNDLE} environment variable to point to a certificate bundle, so you would have to run something like this:"
-msgstr ""
+msgstr "Un autre exemple serait R, qui requière que la variable d'environnement @code{CURL_CA_BUNDLE} pointe sur le lot de certificats, donc vous lanceriez quelque chose comme ceci :"
#. type: example
#: doc/guix.texi:21752
@@ -40010,11 +40023,13 @@ msgid ""
"$ guix package -i nss-certs\n"
"$ export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
msgstr ""
+"$ guix package -i nss-certs\n"
+"$ export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
#. type: Plain text
#: doc/guix.texi:21756
msgid "For other applications you may want to look up the required environment variable in the relevant documentation."
-msgstr ""
+msgstr "Pour d'autres applications vous pourriez avoir besoin de chercher la variable d'environnement requise dans leur documentation."
#. type: cindex
#: doc/guix.texi:21761
@@ -40031,12 +40046,12 @@ msgstr "NSS"
#. type: Plain text
#: doc/guix.texi:21771
msgid "The @code{(gnu system nss)} module provides bindings to the configuration file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). In a nutshell, the NSS is a mechanism that allows libc to be extended with new ``name'' lookup methods for system databases, which includes host names, service names, user accounts, and more (@pxref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})."
-msgstr ""
+msgstr "Le module @code{(gnu system nss)} fournit des liaisons pour le fichier de configuration du @dfn{name service switch} ou @dfn{NSS} de la libc (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). En résumé, NSS est un mécanisme qui permet à la libc d'être étendue avec de nouvelles méthodes de résolution de « noms » dans les bases de données du système, comme les noms d'hôtes, les noms des services, les comptes utilisateurs et bien plus (@pxref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})."
#. type: Plain text
#: doc/guix.texi:21778
msgid "The NSS configuration specifies, for each system database, which lookup method is to be used, and how the various methods are chained together---for instance, under which circumstances NSS should try the next method in the list. The NSS configuration is given in the @code{name-service-switch} field of @code{operating-system} declarations (@pxref{operating-system Reference, @code{name-service-switch}})."
-msgstr ""
+msgstr "La configuration de NSS spécifie, pour chaque base de données du système, quelle méthode de résolution utiliser, et comment les diverses méthodes sont enchaînées — par exemple, sous certaines circonstances, NSS devrait essayer la méthode suivante de la liste. La configuration de NSS est donnée dans le champ @code{name-service-switch} de la déclaration @code{operating-system} (@pxref{operating-system Reference, @code{name-service-switch}})."
#. type: cindex
#: doc/guix.texi:21779
@@ -40048,12 +40063,12 @@ msgstr "nss-mdns"
#: doc/guix.texi:21780
#, no-wrap
msgid ".local, host name lookup"
-msgstr ""
+msgstr ".local, résolution de nom d'hôte"
#. type: Plain text
#: doc/guix.texi:21785
msgid "As an example, the declaration below configures the NSS to use the @uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} back-end}, which supports host name lookups over multicast DNS (mDNS) for host names ending in @code{.local}:"
-msgstr ""
+msgstr "Par exemple, la déclation ci-dessous configure NSS pour utiliser le @uref{http://0pointer.de/lennart/projects/nss-mdns/, moteur @code{nss-mdns}}, qui supporte la résolution de nom d'hôte sur le DNS multicast (mDNS) pour les noms d'hôtes terminant par @code{.local} :"
#. type: example
#: doc/guix.texi:21789
@@ -40077,6 +40092,11 @@ msgid ""
" (name \"mdns_minimal\")\n"
"\n"
msgstr ""
+" ;; Si ce qui précède n'a pas fonctionné, essayer\n"
+" ;; avec « mdns_minimal ».\n"
+" (name-service\n"
+" (name \"mdns_minimal\")\n"
+"\n"
#. type: example
#: doc/guix.texi:21800
@@ -40089,6 +40109,12 @@ msgid ""
" (not-found => return))))\n"
"\n"
msgstr ""
+" ;; « mdns_minimal » fait autorité pour\n"
+" ;; « .local ». Lorsqu'il renvoie « pas trouvé »,\n"
+" ;; inutile d'essayer la méthode suivante.\n"
+" (reaction (lookup-specification\n"
+" (not-found => return))))\n"
+"\n"
#. type: example
#: doc/guix.texi:21804
@@ -40099,6 +40125,10 @@ msgid ""
" (name \"dns\"))\n"
"\n"
msgstr ""
+" ;; Puis revenir sur DNS.\n"
+" (name-service\n"
+" (name \"dns\"))\n"
+"\n"
#. type: example
#: doc/guix.texi:21808
@@ -40108,21 +40138,24 @@ msgid ""
" (name-service\n"
" (name \"mdns\")))))\n"
msgstr ""
+" ;; Enfin, essayer avec « mdns complet ».\n"
+" (name-service\n"
+" (name \"mdns\")))))\n"
#. type: Plain text
#: doc/guix.texi:21813
msgid "Do not worry: the @code{%mdns-host-lookup-nss} variable (see below) contains this configuration, so you will not have to type it if all you want is to have @code{.local} host lookup working."
-msgstr ""
+msgstr "Ne vous inquiétez pas : la variable @code{%mdns-host-lookup-nss} (voir plus bas) contient cette configuration, donc vous n'avez pas besoin de tout taper si vous voulez simplement que la résolution de nom en @code{.local} fonctionne."
#. type: Plain text
#: doc/guix.texi:21821
msgid "Note that, in this case, in addition to setting the @code{name-service-switch} of the @code{operating-system} declaration, you also need to use @code{avahi-service} (@pxref{Networking Services, @code{avahi-service}}), or @var{%desktop-services}, which includes it (@pxref{Desktop Services}). Doing this makes @code{nss-mdns} accessible to the name service cache daemon (@pxref{Base Services, @code{nscd-service}})."
-msgstr ""
+msgstr "Remarquez que dans ce cas, en plus de mettre en place le @code{name-service-switch} de la déclaration @code{operating-system}, vous devez aussi utiliser @code{avahi-service} (@pxref{Networking Services, @code{avahi-service}}), ou @var{%desktop-services} qui l'inclut (@pxref{Desktop Services}). Cela rend @code{nss-mdns} accessible au démon de cache du service de nom (@pxref{Base Services, @code{nscd-service})."
#. type: Plain text
#: doc/guix.texi:21824
msgid "For convenience, the following variables provide typical NSS configurations."
-msgstr ""
+msgstr "Pour votre confort, les variables suivantes contiennent des configurations NSS typiques."
#. type: defvr
#: doc/guix.texi:21825
@@ -40133,7 +40166,7 @@ msgstr "{Variable Scheme} %default-nss"
#. type: defvr
#: doc/guix.texi:21828
msgid "This is the default name service switch configuration, a @code{name-service-switch} object."
-msgstr ""
+msgstr "C'est la configuration NSS par défaut, un objet @code{name-service-switch}."
#. type: defvr
#: doc/guix.texi:21830
@@ -40144,12 +40177,12 @@ msgstr "{Variable Scheme} %mdns-host-lookup-nss"
#. type: defvr
#: doc/guix.texi:21833
msgid "This is the name service switch configuration with support for host name lookup over multicast DNS (mDNS) for host names ending in @code{.local}."
-msgstr ""
+msgstr "C'est la configuration NSS avec le support de la résolution de noms sur DNS multicast (mDNS) pour les noms d'hôtes en @code{.local}."
#. type: Plain text
#: doc/guix.texi:21843
msgid "The reference for name service switch configuration is given below. It is a direct mapping of the configuration file format of the C library , so please refer to the C library manual for more information (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). Compared to the configuration file format of libc NSS, it has the advantage not only of adding this warm parenthetic feel that we like, but also static checks: you will know about syntax errors and typos as soon as you run @command{guix system}."
-msgstr ""
+msgstr "La référence pour la configuration de NSS est donnée ci-dessous. C'est une correspondance directe avec le format de fichier de la bibliothèque C, donc référez-vous au manuel de la bibliothèque C pour plus d'informations (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). Comparé au format de fichier de configuration de NSS, cette configuration a l'avantage non seulement d'ajouter ces bonnes vieilles parenthèses, mais aussi des vérifications statiques ; vous saurez s'il y a des erreurs de syntaxe et des coquilles dès que vous lancerez @command{guix system}."
#. type: deftp
#: doc/guix.texi:21844
@@ -40160,7 +40193,7 @@ msgstr "{Type de données} name-service-switch"
#. type: deftp
#: doc/guix.texi:21849
msgid "This is the data type representation the configuration of libc's name service switch (NSS). Each field below represents one of the supported system databases."
-msgstr ""
+msgstr "C'est le type de données représentant la configuration de NSS. Chaque champ ci-dessous représente l'un des système de bases de données supportés."
#. type: item
#: doc/guix.texi:21851
@@ -40225,7 +40258,7 @@ msgstr "shadow"
#. type: table
#: doc/guix.texi:21866
msgid "The system databases handled by the NSS. Each of these fields must be a list of @code{<name-service>} objects (see below)."
-msgstr ""
+msgstr "Les bases de données du système gérées par NSS. Chaque champ doit être une liste d'objets @code{<name-service>} (voir plus bas)."
#. type: deftp
#: doc/guix.texi:21869
@@ -40236,28 +40269,28 @@ msgstr "{Type de données} name-service"
#. type: deftp
#: doc/guix.texi:21873
msgid "This is the data type representing an actual name service and the associated lookup action."
-msgstr ""
+msgstr "C'est le type de données représentant un service de noms et l'action de résolution associée."
#. type: table
#: doc/guix.texi:21878
msgid "A string denoting the name service (@pxref{Services in the NSS configuration,,, libc, The GNU C Library Reference Manual})."
-msgstr ""
+msgstr "Une chaîne dénotant le service de nom (@pxref{Services in the NSS configuration,,, libc, The GNU C Library Reference Manual})."
#. type: table
#: doc/guix.texi:21883
msgid "Note that name services listed here must be visible to nscd. This is achieved by passing the @code{#:name-services} argument to @code{nscd-service} the list of packages providing the needed name services (@pxref{Base Services, @code{nscd-service}})."
-msgstr ""
+msgstr "Remarquez que les services de dnoms listés ici doivent être visibles à nscd. Cela se fait en passant la liste des paquets fournissant les services de noms à l'argument @code{#:name-services} de @code{nscd-service} (@pxref{Base Services, @code{nscd-service}})."
#. type: item
#: doc/guix.texi:21884
#, no-wrap
msgid "reaction"
-msgstr ""
+msgstr "reaction"
#. type: table
#: doc/guix.texi:21888
msgid "An action specified using the @code{lookup-specification} macro (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library Reference Manual}). For example:"
-msgstr ""
+msgstr "Une action spécifiée par la macro @code{lookup-specification} (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library Reference Manual}). Par exemple :"
#. type: example
#: doc/guix.texi:21892
@@ -40266,16 +40299,18 @@ msgid ""
"(lookup-specification (unavailable => continue)\n"
" (success => return))\n"
msgstr ""
+"(lookup-specification (unavailable => continue)\n"
+" (success => return))\n"
#. type: Plain text
#: doc/guix.texi:21906
msgid "For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system as well as an initialization script. The latter is responsible for mounting the real root file system, and for loading any kernel modules that may be needed to achieve that."
-msgstr ""
+msgstr "Pour le démarrage, on passe au noyau Linux-Libre un @dfn{disque de RAM initial} ou @dfn{initrd}. Un initrd contient un système de fichier racine temporaire ainsi qu'un script d'initialisation. Ce dernier est responsable du montage du vrai système de fichier racine et du chargement des modules du noyau qui peuvent être nécessaires à cette tâche."
#. type: Plain text
#: doc/guix.texi:21915
msgid "The @code{initrd-modules} field of an @code{operating-system} declaration allows you to specify Linux-libre kernel modules that must be available in the initrd. In particular, this is where you would list modules needed to actually drive the hard disk where your root partition is---although the default value of @code{initrd-modules} should cover most use cases. For example, assuming you need the @code{megaraid_sas} module in addition to the default modules to be able to access your root file system, you would write:"
-msgstr ""
+msgstr "Le champ @code{initrd-modules} d'une déclaration @code{operating-system} vous permet de spécifier les modules du noyau Linux-Libre qui doivent être disponibles dans l'initrd. En particulier, c'est là où vous devez lister les modules requis pour effectivement piloter le disque dur où se trouve la partition racine — bien que la valeur par défaut de @code{initrd-modules} couvre la plupart des cas. Par exemple, en supposant que vous ayez besoin du module @code{megaraid_sas} en plus des modules par défaut pour accéder à votre système de fichiers racine, vous écririez :"
#. type: example
#: doc/guix.texi:21920
@@ -40285,6 +40320,9 @@ msgid ""
" ;; @dots{}\n"
" (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
msgstr ""
+"(operating-system\n"
+" ;; @dots{}\n"
+" (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
#. type: defvr
#: doc/guix.texi:21922
@@ -40295,17 +40333,17 @@ msgstr "{Variable Scheme} %base-initrd-modules"
#. type: defvr
#: doc/guix.texi:21924
msgid "This is the list of kernel modules included in the initrd by default."
-msgstr ""
+msgstr "C'est la liste des modules du noyau inclus dans l'initrd par défaut."
#. type: Plain text
#: doc/guix.texi:21932
msgid "Furthermore, if you need lower-level customization, the @code{initrd} field of an @code{operating-system} declaration allows you to specify which initrd you would like to use. The @code{(gnu system linux-initrd)} module provides three ways to build an initrd: the high-level @code{base-initrd} procedure and the low-level @code{raw-initrd} and @code{expression->initrd} procedures."
-msgstr ""
+msgstr "En plus, si vous avez besoin de paramétrages plus bas niveau, le champ @code{initrd} d'une déclaration @code{operating-system} vous permet de spécifier quel initrd vous voudriez utiliser. Le module @code{(gnu system linux-initrd)} fournit trois manières de construire un initrd : la procédure @code{base-initrd} de haut niveau et les procédures @code{raw-initrd} et @code{expression->initrd} de bas niveau."
#. type: Plain text
#: doc/guix.texi:21937
msgid "The @code{base-initrd} procedure is intended to cover most common uses. For example, if you want to add a bunch of kernel modules to be loaded at boot time, you can define the @code{initrd} field of the operating system declaration like this:"
-msgstr ""
+msgstr "La procédure @code{base-initrd} est conçue pour couvrir la plupart des usages courants. Par exemple, si vous voulez ajouter des modules du noyau à charger au démarrage, vous pouvez définir le champ @code{initrd} de votre déclaration de système d'exploitation ainsi :"
#. type: example
#: doc/guix.texi:21945
@@ -40318,92 +40356,98 @@ msgid ""
" #:qemu-networking? #t\n"
" rest)))\n"
msgstr ""
+"(initrd (lambda (file-systems . rest)\n"
+" ;; Crée un initrd standard mais paramètre le réseau\n"
+" ;; avec les paramètres que QEMU attend par défaut.\n"
+" (apply base-initrd file-systems\n"
+" #:qemu-networking? #t\n"
+" rest)))\n"
#. type: Plain text
#: doc/guix.texi:21950
msgid "The @code{base-initrd} procedure also handles common use cases that involves using the system as a QEMU guest, or as a ``live'' system with volatile root file system."
-msgstr ""
+msgstr "La procédure @code{base-initrd} gère aussi les cas d'utilisation courants qui concernent l'utilisation du système comme client QEMU, ou comme un système « live » avec un système de fichier racine volatile."
#. type: Plain text
#: doc/guix.texi:21957
msgid "The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, such as trying to guess which kernel modules and packages should be included to the initrd. An example use of @code{raw-initrd} is when a user has a custom Linux kernel configuration and default kernel modules included by @code{base-initrd} are not available."
-msgstr ""
+msgstr "La procédure @code{base-initrd} est construite à partir de la procédure @code{raw-initrd}. Contrairement à @code{base-initrd}, @code{raw-initrd} ne fait rien à haut-niveau, comme essayer de deviner les modules du noyau et les paquets qui devraient être inclus dans l'initrd. Un exemple d'utilisation de @code{raw-initrd} serait si un utilisateur a une configuration personnalisée du noyau Linux et que les modules du noyau inclus par défaut par @code{base-initrd} ne sont pas disponibles."
#. type: Plain text
#: doc/guix.texi:21962
msgid "The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} honors several options passed on the Linux kernel command line (that is, arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-append} option of QEMU), notably:"
-msgstr ""
+msgstr "Le disque de RAM initial produit par @code{base-initrd} ou @code{raw-initrd} honore plusieurs options passées par la ligne de commande du noyau Linux (c'est-à-dire les arguments passés via la commande @code{linux} de GRUB ou l'option @code{-append} de QEMU), notamment :"
#. type: item
#: doc/guix.texi:21964
#, no-wrap
msgid "--load=@var{boot}"
-msgstr ""
+msgstr "--load=@var{boot}"
#. type: table
#: doc/guix.texi:21967
msgid "Tell the initial RAM disk to load @var{boot}, a file containing a Scheme program, once it has mounted the root file system."
-msgstr ""
+msgstr "Dit au disque de RAM initial de charger @var{boot}, un fichier contenant un programme Scheme, une fois qu'il a monté le système de fichier racine."
#. type: table
#: doc/guix.texi:21971
msgid "GuixSD uses this option to yield control to a boot program that runs the service activation programs and then spawns the GNU@tie{}Shepherd, the initialization system."
-msgstr ""
+msgstr "GuixSD utilise cette option pour donner le contrôle à un programme de démarrage qui lance les programmes d'activation de services puis démarre le GNU@tie{}Shepherd, le système d'initialisation."
#. type: item
#: doc/guix.texi:21972
#, no-wrap
msgid "--root=@var{root}"
-msgstr ""
+msgstr "--root=@var{root}"
#. type: table
#: doc/guix.texi:21976
msgid "Mount @var{root} as the root file system. @var{root} can be a device name like @code{/dev/sda1}, a file system label, or a file system UUID."
-msgstr ""
+msgstr "Monte @var{root} comme système de fichier racine. @var{root} peut être un nom de périphérique comme @code{/dev/sda1}, une étiquette de système de fichiers ou un UUID de système de fichiers."
#. type: table
#: doc/guix.texi:21980
msgid "Have @file{/run/booted-system} and @file{/run/current-system} point to @var{system}."
-msgstr ""
+msgstr "S'assure que @file{/run/booted-system} et @file{/run/current-system} pointent vers @var{system}."
#. type: item
#: doc/guix.texi:21981
#, no-wrap
msgid "modprobe.blacklist=@var{modules}@dots{}"
-msgstr ""
+msgstr "modprobe.blacklist=@var{modules}@dots{}"
#. type: cindex
#: doc/guix.texi:21982
#, no-wrap
msgid "module, black-listing"
-msgstr ""
+msgstr "module, black-list"
#. type: cindex
#: doc/guix.texi:21983
#, no-wrap
msgid "black list, of kernel modules"
-msgstr ""
+msgstr "black-list, des modules du noyau"
#. type: table
#: doc/guix.texi:21988
msgid "Instruct the initial RAM disk as well as the @command{modprobe} command (from the kmod package) to refuse to load @var{modules}. @var{modules} must be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}."
-msgstr ""
+msgstr "Dit au disque de RAM initial ainsi qu'à la commande @command{modprobe} (du paquet kmod) de refuser de charger @var{modules}. @var{modules} doit être une liste de noms de modules séparés par des virgules — p.@: ex.@: @code{usbkbd,9pnet}."
#. type: item
#: doc/guix.texi:21989
#, no-wrap
msgid "--repl"
-msgstr ""
+msgstr "--repl"
#. type: table
#: doc/guix.texi:21995
msgid "Start a read-eval-print loop (REPL) from the initial RAM disk before it tries to load kernel modules and to mount the root file system. Our marketing team calls it @dfn{boot-to-Guile}. The Schemer in you will love it. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, for more information on Guile's REPL."
-msgstr ""
+msgstr "Démarre une boucle lecture-évaluation-affichage (REPL) depuis le disque de RAM initial avant qu'il n'essaye de charger les modules du noyau et de monter le système de fichiers racine. Notre équipe commerciale appelle cela @dfn{boot-to-Guile}. Le Schemeur en vous va adorer. @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, pour plus d'information sur le REPL de Guile."
#. type: Plain text
#: doc/guix.texi:22001
msgid "Now that you know all the features that initial RAM disks produced by @code{base-initrd} and @code{raw-initrd} provide, here is how to use it and customize it further."
-msgstr ""
+msgstr "Maintenant que vous connaissez toutes les fonctionnalités des disques de RAM initiaux produits par @code{base-initrd} et @code{raw-initrd}, voici comment l'utiliser le personnalisé plus avant."
#. type: deffn
#: doc/guix.texi:22004
@@ -40415,16 +40459,19 @@ msgstr "{Procédure Scheme} raw-initrd @var{file-systems} @"
#: doc/guix.texi:22016
msgid "[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that builds a raw initrd. @var{file-systems} is a list of file systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @code{--root}. @var{linux-modules} is a list of kernel modules to be loaded at boot time. @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted (@pxref{Mapped Devices}). @var{helper-packages} is a list of packages to be copied in the initrd. It may include @code{e2fsck/static} or other packages needed by the initrd to check the root file system."
msgstr ""
+"[#:linux-modules '()] [#:mapped-devices '()] @\n"
+"[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]\n"
+"Renvoie une dérivation qui construit un initrd. @var{file-systems} est une liste de systèmes de fichiers à monter par l'initrd, éventuellement en plus du système de fichier racine spécifié sur la ligne de commande du noyau via @code{--root}. @var{linux-modules} est une liste de modules du noyau à charger au démarrage. @var{mapped-devices} est une liste de correspondances de périphériques à réaliser avant que les @var{file-systems} ne soient montés (@pxref{Mapped Devices}). @var{helper-packages} est une liste de paquets à copier dans l'initrd. Elle peut inclure @code{e2fsck/static} ou d'autres paquets requis par l'initrd pour vérifier le système de fichiers racine."
#. type: deffn
#: doc/guix.texi:22020
msgid "When @var{qemu-networking?} is true, set up networking with the standard QEMU parameters. When @var{virtio?} is true, load additional modules so that the initrd can be used as a QEMU guest with para-virtualized I/O drivers."
-msgstr ""
+msgstr "Lorsque @var{qemu-networking?} est vrai, paramètre le réseau avec les paramètres QEMU standards. Lorsque @var{virtio?} est vrai, charge des modules supplémentaires pour que l'initrd puisse être utilisé comme client QEMU avec les pilotes I/O para-virtualisés."
#. type: deffn
#: doc/guix.texi:22023
msgid "When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost."
-msgstr ""
+msgstr "Lorsque @var{volatile-root?} est vrai, le système de fichier racine est inscriptible mais tous les changements seront perdus."
#. type: deffn
#: doc/guix.texi:22025
@@ -40436,21 +40483,24 @@ msgstr "{Procédure Scheme} base-initrd @var{file-systems} @"
#: doc/guix.texi:22033
msgid "[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:linux-modules '()] Return as a file-like object a generic initrd, with kernel modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @code{--root}. @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted."
msgstr ""
+"[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f] @\n"
+"[#:linux-modules '()]\n"
+"Renvoie un objet simili-fichier contenant un initrd générique, avec les modules du noyau de @var{linux}. @var{file-systems} est une liste de systèmes de fichiers à monter par l'initrd, éventuellement en plus du système de fichiers racine spécifié sur la ligne de commande du noyau via @code{--root}. @var{mapped-devices} est une liste de correspondances de périphériques à réaliser avant de monter les @var{file-systems}."
#. type: deffn
#: doc/guix.texi:22035
msgid "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}."
-msgstr ""
+msgstr "@var{qemu-networking?} et @var{volatile-root?} se comportent comme pour @code{raw-initrd}."
#. type: deffn
#: doc/guix.texi:22040
msgid "The initrd is automatically populated with all the kernel modules necessary for @var{file-systems} and for the given options. Additional kernel modules can be listed in @var{linux-modules}. They will be added to the initrd, and loaded at boot time in the order in which they appear."
-msgstr ""
+msgstr "L'initrd est automatiquement remplie avec tous les modules du noyau requis pour @var{file-systems} et pour les options données. On peut lister des modules supplémentaires dans @var{linux-modules}. Ils seront ajoutés à l'initrd et chargés au démarrage dans l'ordre dans lequel ils apparaissent."
#. type: Plain text
#: doc/guix.texi:22047
msgid "Needless to say, the initrds we produce and use embed a statically-linked Guile, and the initialization program is a Guile program. That gives a lot of flexibility. The @code{expression->initrd} procedure builds such an initrd, given the program to run in that initrd."
-msgstr ""
+msgstr "Inutile de le dire, les initrds que nous produisons et utilisons incluent une version de Guile liée statiquement, et le programme d'initialisation est un programme Guile. Cela donne beaucoup de flexibilité. La procédure @code{expression->initrd} construit un tel initrd, étant donné le programme à lancer dans cet initrd."
#. type: deffn
#: doc/guix.texi:22048
@@ -40462,22 +40512,24 @@ msgstr "{Procédure Scheme} expression->initrd @var{exp} @"
#: doc/guix.texi:22054
msgid "[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return as a file-like object a Linux initrd (a gzipped cpio archive) containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting. All the derivations referenced by @var{exp} are automatically copied to the initrd."
msgstr ""
+"[#:guile %guile-static-stripped] [#:name \"guile-initrd\"]\n"
+"Renvoie un objet simili-fichier contenant un initrd Linux (une archive cpio compressée avec gzip) contenant @var{guile} et qui évalue @var{exp}, une G-expression, au démarrage. Toutes les dérivations référencées par @var{exp} sont automatiquement copiées dans l'initrd."
#. type: cindex
#: doc/guix.texi:22060
#, no-wrap
msgid "boot loader"
-msgstr ""
+msgstr "chargeur d'amorçage"
#. type: Plain text
#: doc/guix.texi:22067
msgid "The operating system supports multiple bootloaders. The bootloader is configured using @code{bootloader-configuration} declaration. All the fields of this structure are bootloader agnostic except for one field, @code{bootloader} that indicates the bootloader to be configured and installed."
-msgstr ""
+msgstr "Le système d'exploitation supporte plusieurs chargeurs d'amorçage. La configuration du chargeur d'amorçage se fait avec la déclaration @code{bootloader-configuration}. Tous les champs de cette structure sont indépendants du chargeur d'amorçage sauf un, @code{bootloader} qui indique le chargeur d'amorçage à configurer et à installer."
#. type: Plain text
#: doc/guix.texi:22072
msgid "Some of the bootloaders do not honor every field of @code{bootloader-configuration}. For instance, the extlinux bootloader does not support themes and thus ignores the @code{theme} field."
-msgstr ""
+msgstr "Certains chargeurs d'amorçage ne respectent pas tous les champs de @code{bootloader-configuration}. Par exemple, le chargeur d'amorçage extlinux ne supporte pas les thèmes et ignore donc le champ @code{theme}."
#. type: deftp
#: doc/guix.texi:22073
@@ -40488,40 +40540,40 @@ msgstr "{Type de données} bootloader-configuration"
#. type: deftp
#: doc/guix.texi:22075
msgid "The type of a bootloader configuration declaration."
-msgstr ""
+msgstr "Le type d'une déclaration de configuration de chargeur d'amorçage."
#. type: cindex
#: doc/guix.texi:22079
#, no-wrap
msgid "EFI, bootloader"
-msgstr ""
+msgstr "EFI, chargeur d'amorçage"
#. type: cindex
#: doc/guix.texi:22080
#, no-wrap
msgid "UEFI, bootloader"
-msgstr ""
+msgstr "UEFI, chargeur d'amorçage"
#. type: cindex
#: doc/guix.texi:22081
#, no-wrap
msgid "BIOS, bootloader"
-msgstr ""
+msgstr "BIOS, chargeur d'amorçage"
#. type: table
#: doc/guix.texi:22085
msgid "The bootloader to use, as a @code{bootloader} object. For now @code{grub-bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} and @code{u-boot-bootloader} are supported."
-msgstr ""
+msgstr "Le chargeur d'amorçage à utiliser, comme objet @code{bootloader}. Pour l'instant @code{grub-bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} et @code{u-boot-bootloader} sont supportés."
#. type: table
#: doc/guix.texi:22091
msgid "@code{grub-efi-bootloader} allows to boot on modern systems using the @dfn{Unified Extensible Firmware Interface} (UEFI). This is what you should use if the installation image contains a @file{/sys/firmware/efi} directory when you boot it on your system."
-msgstr ""
+msgstr "@code{grub-efi-bootloader} permet de démarrer sur un système moderne qui utilise l'UEFI (@dfn{Unified Extensible Firmware Interface}). C'est ce que vous devriez utiliser si l'image d'installation contient un répertoire @file{/sys/firmware/efi} lorsque vous démarrez dessus sur votre machine."
#. type: table
#: doc/guix.texi:22095
msgid "@code{grub-bootloader} allows you to boot in particular Intel-based machines in ``legacy'' BIOS mode."
-msgstr ""
+msgstr "@code{grub-bootloader} vous permet de démarrer en particulier sur des machines Intel en mode BIOS « legacy »."
#. type: cindex
#: doc/guix.texi:22096
@@ -40538,17 +40590,17 @@ msgstr "AArch64, chargeurs d'amorçage"
#. type: table
#: doc/guix.texi:22102
msgid "Available bootloaders are described in @code{(gnu bootloader @dots{})} modules. In particular, @code{(gnu bootloader u-boot)} contains definitions of bootloaders for a wide range of ARM and AArch64 systems, using the @uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}."
-msgstr ""
+msgstr "Les chargeurs d'amorçage disponibles sont décrits dans les modules @code{(gnu bootloader @dots{})}. En particulier, @code{(gnu bootloader u-boot)} contient des définitions de chargeurs d'amorçage pour une large gamme de systèmes ARM et AArch, à l'aide du @uref{http://www.denx.de/wiki/U-Boot/, chargeur d'amorçage U-Boot}"
#. type: table
#: doc/guix.texi:22106
msgid "This is a string denoting the target onto which to install the bootloader."
-msgstr ""
+msgstr "C'est une chaîne qui dénote la cible sur laquelle installer le chargeur d'amorçage."
#. type: table
#: doc/guix.texi:22113
msgid "The interpretation depends on the bootloader in question. For @code{grub-bootloader}, for example, it should be a device name understood by the bootloader @command{installer} command, such as @code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). For @code{grub-efi-bootloader}, it should be the mount point of the EFI file system, usually @file{/boot/efi}."
-msgstr ""
+msgstr "L'interprétation dépend du chargeur d'amorçage en question. Pour @code{grub-bootloader} par exemple, cela devrait être un nom de périphérique compris par la commande @command{installer} du chargeur d'amorçage, comme @code{/dev/sda} ou @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). Pour @code{grub-efi-bootloader}, cela devrait être le point de montage du système de fichiers EFI, typiquement @file{/boot/efi}."
#. type: item
#: doc/guix.texi:22114
@@ -40559,7 +40611,7 @@ msgstr "@code{menu-entries} (par défaut : @code{()})"
#. type: table
#: doc/guix.texi:22118
msgid "A possibly empty list of @code{menu-entry} objects (see below), denoting entries to appear in the bootloader menu, in addition to the current system entry and the entry pointing to previous system generations."
-msgstr ""
+msgstr "Une liste éventuellement vide d'objets @code{menu-entry} (voir plus bas), dénotant les entrées qui doivent apparaître dans le menu du chargeur d'amorçage, en plus de l'entrée pour le système actuel et l'entrée pointant vers les générations précédentes."
#. type: item
#: doc/guix.texi:22119
@@ -40570,7 +40622,7 @@ msgstr "@code{default-entry} (par défaut : @code{0})"
#. type: table
#: doc/guix.texi:22122
msgid "The index of the default boot menu entry. Index 0 is for the entry of the current system."
-msgstr ""
+msgstr "L'index de l'entrée du menu de démarrage par défaut. L'index 0 correspond au système actuel."
#. type: item
#: doc/guix.texi:22123
@@ -40581,7 +40633,7 @@ msgstr "@code{timeout} (par défaut : @code{5})"
#. type: table
#: doc/guix.texi:22126
msgid "The number of seconds to wait for keyboard input before booting. Set to 0 to boot immediately, and to -1 to wait indefinitely."
-msgstr ""
+msgstr "Le nombre de secondes à attendre une entrée clavier avant de démarrer. Indiquez 0 pour démarre immédiatement, et -1 pour attendre indéfiniment."
#. type: item
#: doc/guix.texi:22127
@@ -40592,7 +40644,7 @@ msgstr "@code{theme} (par défaut : @var{#f})"
#. type: table
#: doc/guix.texi:22131
msgid "The bootloader theme object describing the theme to use. If no theme is provided, some bootloaders might use a default theme, that's true for GRUB."
-msgstr ""
+msgstr "L'objet de thème du chargeur d'amorçage décrivant le thème utilisé. Si aucun thème n'est fournit, certains chargeurs d'amorçage peuvent utiliser un thème par défaut, c'est le cas de GRUB."
#. type: item
#: doc/guix.texi:22132
@@ -40603,7 +40655,7 @@ msgstr "@code{terminal-outputs} (par défaut : @code{'gfxterm})"
#. type: table
#: doc/guix.texi:22139
msgid "The output terminals used for the bootloader boot menu, as a list of symbols. GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @code{morse}, and @code{pkmodem}. This field corresponds to the GRUB variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Les terminaux de sortie utilisés par le menu de démarrage du chargeur d'amorçage, en tant que liste de symboles. GRUB accepte les valeurs @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @code{morse} et @code{pkmodem}. Ce champ correspond à la variable GRUB @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
#. type: item
#: doc/guix.texi:22140
@@ -40614,7 +40666,7 @@ msgstr "@code{terminal-inputs} (par défaut : @code{'()})"
#. type: table
#: doc/guix.texi:22148
msgid "The input terminals used for the bootloader boot menu, as a list of symbols. For GRUB, the default is the native platform terminal as determined at run-time. GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and @code{usb_keyboard}. This field corresponds to the GRUB variable @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Les terminaux d'entrée utilisés par le menu de démarrage du chargeur d'amorçage, en tant que liste de symboles. Pour GRUB, la valeur par défaut est le terminal natif de la plate-forme déterminé à l'exécution. GRUB accepte les valeurs @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard} et @code{usb_keyboard}. Ce champ correspond à la variable GRUB @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
#. type: item
#: doc/guix.texi:22149
@@ -40625,7 +40677,7 @@ msgstr "@code{serial-unit} (par défaut : @code{#f})"
#. type: table
#: doc/guix.texi:22153
msgid "The serial unit used by the bootloader, as an integer from 0 to 3. For GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "L'unitié série utilisée par le chargeur d'amorçage, en tant qu'entier entre 0 et 3. Pour GRUB, il est choisi à l'exécution ; actuellement GRUB choisi 0, ce qui correspond à COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
#. type: item
#: doc/guix.texi:22154
@@ -40636,24 +40688,24 @@ msgstr "@code{serial-speed} (par défaut : @code{#f})"
#. type: table
#: doc/guix.texi:22158
msgid "The speed of the serial interface, as an integer. For GRUB, the default value is chosen at run-time; currently GRUB chooses 9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "La vitesse de l'interface série, en tant qu'entier. Pour GRUB, la valeur par défaut est choisie à l'exécution ; actuellement GRUB choisi 9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
#. type: cindex
#: doc/guix.texi:22162
#, no-wrap
msgid "dual boot"
-msgstr ""
+msgstr "dual boot"
#. type: cindex
#: doc/guix.texi:22163
#, no-wrap
msgid "boot menu"
-msgstr ""
+msgstr "menu de démarrage"
#. type: Plain text
#: doc/guix.texi:22169
msgid "Should you want to list additional boot menu entries @i{via} the @code{menu-entries} field above, you will need to create them with the @code{menu-entry} form. For example, imagine you want to be able to boot another distro (hard to imagine!), you can define a menu entry along these lines:"
-msgstr ""
+msgstr "Si vous voulez lister des entrées du menu de démarrage supplémentaires via le champ @code{menu-entries} ci-dessus, vous devrez les créer avec la forme @code{menu-entry}. Par exemple, imaginons que vous souhaitiez pouvoir démarrer sur une autre distro (c'est difficile à concevoir !), vous pourriez alors définir une entrée du menu comme ceci :"
#. type: example
#: doc/guix.texi:22176
@@ -40665,11 +40717,16 @@ msgid ""
" (linux-arguments '(\"root=/dev/sda2\"))\n"
" (initrd \"/boot/old/initrd\"))\n"
msgstr ""
+"(menu-entry\n"
+" (label \"L'autre distro\")\n"
+" (linux \"/boot/old/vmlinux-2.6.32\")\n"
+" (linux-arguments '(\"root=/dev/sda2\"))\n"
+" (initrd \"/boot/old/initrd\"))\n"
#. type: Plain text
#: doc/guix.texi:22179
msgid "Details below."
-msgstr ""
+msgstr "Les détails suivent."
#. type: deftp
#: doc/guix.texi:22180
@@ -40680,51 +40737,51 @@ msgstr "{Type de données} menu-entry"
#. type: deftp
#: doc/guix.texi:22182
msgid "The type of an entry in the bootloader menu."
-msgstr ""
+msgstr "Le type d'une entrée dans le menu du chargeur d'amorçage."
#. type: code{#1}
#: doc/guix.texi:22185
#, no-wrap
msgid "label"
-msgstr ""
+msgstr "label"
#. type: table
#: doc/guix.texi:22187
msgid "The label to show in the menu---e.g., @code{\"GNU\"}."
-msgstr ""
+msgstr "L'étiquette à montrer dans le menu — p.@: ex.@: @code{\"GNU\"}."
#. type: code{#1}
#: doc/guix.texi:22188
#, no-wrap
msgid "linux"
-msgstr ""
+msgstr "linux"
#. type: table
#: doc/guix.texi:22190
msgid "The Linux kernel image to boot, for example:"
-msgstr ""
+msgstr "L'image du noyau Linux à démarrer, par exemple :"
#. type: example
#: doc/guix.texi:22193
#, no-wrap
msgid "(file-append linux-libre \"/bzImage\")\n"
-msgstr ""
+msgstr "(file-append linux-libre \"/bzImage\")\n"
#. type: table
#: doc/guix.texi:22198
msgid "For GRUB, it is also possible to specify a device explicitly in the file path using GRUB's device naming convention (@pxref{Naming convention,,, grub, GNU GRUB manual}), for example:"
-msgstr ""
+msgstr "Pour GRUB, il est aussi possible de spécifier un périphérique explicitement dans le chemin de fichier avec la convention de nommage de GRUB (@pxref{Naming convention,,, grub, GNU GRUB manual}), par exemple :"
#. type: example
#: doc/guix.texi:22201
#, no-wrap
msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n"
-msgstr ""
+msgstr "\"(hd0,msdos1)/boot/vmlinuz\"\n"
#. type: table
#: doc/guix.texi:22205
msgid "If the device is specified explicitly as above, then the @code{device} field is ignored entirely."
-msgstr ""
+msgstr "Si le périphérique est spécifié explicitement comme au-dessus, le champ @code{device} est complètement ignoré."
#. type: item
#: doc/guix.texi:22206
@@ -40735,12 +40792,12 @@ msgstr "@code{linux-arguments} (par défaut : @code{()})"
#. type: table
#: doc/guix.texi:22209
msgid "The list of extra Linux kernel command-line arguments---e.g., @code{(\"console=ttyS0\")}."
-msgstr ""
+msgstr "La liste des arguments de la ligne de commande du noyau supplémentaires — p.@: ex.@: @code{(\"console=ttyS0\")}."
#. type: table
#: doc/guix.texi:22213
msgid "A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Une G-expression ou une chaîne dénotant le nom de fichier du disque de RAM initial à utiliser (@pxref{G-Expressions})."
#. type: item
#: doc/guix.texi:22213
@@ -40751,27 +40808,27 @@ msgstr "@code{device} (par défaut : @code{#f})"
#. type: table
#: doc/guix.texi:22216
msgid "The device where the kernel and initrd are to be found---i.e., for GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})."
-msgstr ""
+msgstr "Le périphérique où le noyau et l'initrd se trouvent — c.-à-d.@: pour GRUB, l'option @dfn{root} de cette entrée de menu (@pxref{root,,, grub, GNU GRUB manual})."
#. type: table
#: doc/guix.texi:22222
msgid "This may be a file system label (a string), a file system UUID (a bytevector, @pxref{File Systems}), or @code{#f}, in which case the bootloader will search the device containing the file specified by the @code{linux} field (@pxref{search,,, grub, GNU GRUB manual}). It must @emph{not} be an OS device name such as @file{/dev/sda1}."
-msgstr ""
+msgstr "Cela peut être une étiquette de système de fichiers (une chaîne), un UUID de système de fichiers (un vecteur d'octets, @pxref{File Systems}) ou @code{#f}, auquel cas le chargeur d'amorçage recherchera le périphérique contenant le fichier spécifié par le champ @code{linux} (@pxref{search,,, grub, GNU GRUB manual}). Cela ne doit @emph{pas} être un nom de périphérique donné par l'OS comme @file{/dev/sda1}."
#. type: Plain text
#: doc/guix.texi:22229
msgid "Fow now only GRUB has theme support. GRUB themes are created using the @code{grub-theme} form, which is not documented yet."
-msgstr ""
+msgstr "Pour l'instant seul GRUB supporte les thèmes. On crée un thème GRUB avec la forme @code{grub-theme}, qui n'est pas encore documentée."
#. type: defvr
#: doc/guix.texi:22234
msgid "This is the default GRUB theme used by the operating system if no @code{theme} field is specified in @code{bootloader-configuration} record."
-msgstr ""
+msgstr "C'est le thème par défaut de GRUB utilisé par le système d'exploitation si aucun champ @code{theme} n'est spécifié dans l'enregistrement @code{bootloader-configuration}."
#. type: defvr
#: doc/guix.texi:22237
msgid "It comes with a fancy background image displaying the GNU and Guix logos."
-msgstr ""
+msgstr "Il contient une image de fond sympathique avec les logos de GNU et de Guix."
#. type: subsection
#: doc/guix.texi:22241
@@ -40782,29 +40839,29 @@ msgstr "Invoquer @code{guix system}"
#. type: Plain text
#: doc/guix.texi:22246
msgid "Once you have written an operating system declaration as seen in the previous section, it can be @dfn{instantiated} using the @command{guix system} command. The synopsis is:"
-msgstr ""
+msgstr "Une fois que vous avez écrit une déclaration de système d'exploitation comme nous l'avons vu dans les sections précédentes, elle peut être instanciée avec la commande @command{guix system}. Voici le résumé de la commande :"
#. type: example
#: doc/guix.texi:22249
#, no-wrap
msgid "guix system @var{options}@dots{} @var{action} @var{file}\n"
-msgstr ""
+msgstr "guix system @var{options}@dots{} @var{action} @var{file}\n"
#. type: Plain text
#: doc/guix.texi:22255
msgid "@var{file} must be the name of a file containing an @code{operating-system} declaration. @var{action} specifies how the operating system is instantiated. Currently the following values are supported:"
-msgstr ""
+msgstr "@var{file} doit être le nom d'un fichier contenant une déclaration @code{operating-system}. @var{action} spécifie comme le système d'exploitation est instancié. Actuellement les valeurs suivantes sont supportées :"
#. type: item
#: doc/guix.texi:22257
#, no-wrap
msgid "search"
-msgstr ""
+msgstr "search"
#. type: table
#: doc/guix.texi:22260
msgid "Display available service type definitions that match the given regular expressions, sorted by relevance:"
-msgstr ""
+msgstr "Affiche les définitions des types de services disponibles qui correspondent aux expressions régulières données, triées par pertinence."
#. type: example
#: doc/guix.texi:22272
@@ -40822,6 +40879,16 @@ msgid ""
"relevance: 20\n"
"\n"
msgstr ""
+"$ guix system search console font\n"
+"name: console-fonts\n"
+"location: gnu/services/base.scm:773:2\n"
+"extends: shepherd-root\n"
+"description: Installe des polices données sur les ttys spécifiés (les polices sont par console virtuelle sous GNU/Linux). la valeur de ces service est une liste de paires\n"
+"+ de tty/police comme ceci :\n"
+"+ \n"
+"+ '((\"tty1\" . \"LatGrkCyr-8x16\"))\n"
+"relevance: 16\n"
+"\n"
#. type: example
#: doc/guix.texi:22278
@@ -40834,6 +40901,12 @@ msgid ""
"relevance: 2\n"
"\n"
msgstr ""
+"name: mingetty\n"
+"location: gnu/services/base.scm:1144:2\n"
+"extends: shepherd-root\n"
+"description: Fournit la connexion en console avec le programme `mingetty'.\n"
+"relevance: 4\n"
+"\n"
#. type: example
#: doc/guix.texi:22285
@@ -40847,6 +40920,12 @@ msgid ""
"relevance: 2\n"
"\n"
msgstr ""
+"name: login\n"
+"location: gnu/services/base.scm:819:2\n"
+"extends: pam\n"
+"description: Fournit un service de connexion en console tel que spécifié par sa valeur de configuration, un objet `login-configuration'.\n"
+"relevance: 4\n"
+"\n"
#. type: example
#: doc/guix.texi:22287
@@ -40857,183 +40936,183 @@ msgstr "@dots{}\n"
#. type: table
#: doc/guix.texi:22292
msgid "As for @command{guix package --search}, the result is written in @code{recutils} format, which makes it easy to filter the output (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
-msgstr ""
+msgstr "Comme pour @command{guix package --search}, le résultat est écrit au format @code{recutils}, ce qui rend facile le filtrage de la sortie (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
#. type: item
#: doc/guix.texi:22293
#, no-wrap
msgid "reconfigure"
-msgstr ""
+msgstr "reconfigure"
#. type: table
#: doc/guix.texi:22298
msgid "Build the operating system described in @var{file}, activate it, and switch to it@footnote{This action (and the related actions @code{switch-generation} and @code{roll-back}) are usable only on systems already running GuixSD.}."
-msgstr ""
+msgstr "Construit le système d'exploitation décrit dans @var{file}, l'active et passe dessus@footnote{Cette action (et les action @code{switch-generation} et @code{roll-back} liées) ne sont utilisables que sur les systèmes sous GuixSD.}."
#. type: table
#: doc/guix.texi:22305
msgid "This effects all the configuration specified in @var{file}: user accounts, system services, global package list, setuid programs, etc. The command starts system services specified in @var{file} that are not currently running; if a service is currently running this command will arrange for it to be upgraded the next time it is stopped (eg. by @code{herd stop X} or @code{herd restart X})."
-msgstr ""
+msgstr "Cela met en application toute la configuration spécifiée dans @var{file} : les comptes utilisateurs, la liste globale des paquets, les programmes setuid, etc. La commande démarre les services systèmes spécifiés dans @var{file} qui ne sont pas actuellement lancés ; si un service est actuellement exécuté cette commande s'arrange pour qu'il soit mis à jour la prochaine fois qu'il est stoppé (p.@: ex@: par @code{herd stop X} ou @code{herd restart X})."
#. type: table
#: doc/guix.texi:22311
msgid "This command creates a new generation whose number is one greater than the current generation (as reported by @command{guix system list-generations}). If that generation already exists, it will be overwritten. This behavior mirrors that of @command{guix package} (@pxref{Invoking guix package})."
-msgstr ""
+msgstr "Cette commande crée une nouvelle génération dont le numéro est un de plus que la génération actuelle (rapportée par @command{guix system list-generations}). Si cette génération existe déjà, elle sera réécrite. Ce comportement correspond à celui de @command{guix package} (@pxref{Invoking guix package})."
#. type: table
#: doc/guix.texi:22316
msgid "It also adds a bootloader menu entry for the new OS configuration, ---unless @option{--no-bootloader} is passed. For GRUB, it moves entries for older configurations to a submenu, allowing you to choose an older system generation at boot time should you need it."
-msgstr ""
+msgstr "Elle ajoute aussi une entrée de menu du chargeur d'amorçage pour la nouvelle configuration, à moins que @option{--no-bootloader} ne soit passé. Pour GRUB, elle déplace les entrées pour les anciennes configurations dans un sous-menu, ce qui vous permet de choisir une ancienne génération au démarrage si vous en avez besoin."
#. type: quotation
#: doc/guix.texi:22324
msgid "It is highly recommended to run @command{guix pull} once before you run @command{guix system reconfigure} for the first time (@pxref{Invoking guix pull}). Failing to do that you would see an older version of Guix once @command{reconfigure} has completed."
-msgstr ""
+msgstr "Il est grandement recommandé de lancer @command{guix pull} une fois avant de lancer @command{guix system reconfigure} pour la première fois (@pxref{Invoking guix pull}). Sans cela, vous verriez une version plus ancienne de Guix une fois @command{reconfigure} terminé."
#. type: item
#: doc/guix.texi:22326
#, no-wrap
msgid "switch-generation"
-msgstr ""
+msgstr "switch-generation"
#. type: table
#: doc/guix.texi:22335
msgid "Switch to an existing system generation. This action atomically switches the system profile to the specified system generation. It also rearranges the system's existing bootloader menu entries. It makes the menu entry for the specified system generation the default, and it moves the entries for the other generatiors to a submenu, if supported by the bootloader being used. The next time the system boots, it will use the specified system generation."
-msgstr ""
+msgstr "Passe à une génération existante du système. Cette action change automatiquement le profil système vers la génération spécifiée. Elle réarrange aussi les entrées existantes du menu du chargeur d'amorçage du système. Elle fait de l'entrée du menu pour la génération spécifiée l'entrée par défaut et déplace les entrées pour les autres générations dans un sous-menu, si cela est supporté par le chargeur d'amorçage utilisé. Lors du prochain démarrage du système, la génération du système spécifiée sera utilisée."
#. type: table
#: doc/guix.texi:22339
msgid "The bootloader itself is not being reinstalled when using this command. Thus, the installed bootloader is used with an updated configuration file."
-msgstr ""
+msgstr "Le chargeur d'amorçage lui-même n'est pas réinstallé avec cette commande. Ainsi, le chargeur d'amorçage est utilisé avec un fichier de configuration plus à jour."
#. type: table
#: doc/guix.texi:22343
msgid "The target generation can be specified explicitly by its generation number. For example, the following invocation would switch to system generation 7:"
-msgstr ""
+msgstr "La génération cible peut être spécifiée explicitement par son numéro de génération. Par exemple, l'invocation suivante passerait à la génération 7 du système :"
#. type: example
#: doc/guix.texi:22346
#, no-wrap
msgid "guix system switch-generation 7\n"
-msgstr ""
+msgstr "guix system switch-generation 7\n"
#. type: table
#: doc/guix.texi:22354
msgid "The target generation can also be specified relative to the current generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3 generations ahead of the current generation,'' and @code{-1} means ``1 generation prior to the current generation.'' When specifying a negative value such as @code{-1}, you must precede it with @code{--} to prevent it from being parsed as an option. For example:"
-msgstr ""
+msgstr "La génération cible peut aussi être spécifiée relativement à la génération actuelle avec la forme @code{+N} ou @code{-N}, où @code{+3} signifie « trois générations après la génération actuelle » et @code{-1} signifie « une génération précédent la génération actuelle ». Lorsque vous spécifiez un nombre négatif comme @code{-1}, il doit être précédé de @code{--} pour éviter qu'il ne soit compris comme une option. Par exemple :"
#. type: example
#: doc/guix.texi:22357
#, no-wrap
msgid "guix system switch-generation -- -1\n"
-msgstr ""
+msgstr "guix system switch-generation -- -1\n"
#. type: table
#: doc/guix.texi:22365
msgid "Currently, the effect of invoking this action is @emph{only} to switch the system profile to an existing generation and rearrange the bootloader menu entries. To actually start using the target system generation, you must reboot after running this action. In the future, it will be updated to do the same things as @command{reconfigure}, like activating and deactivating services."
-msgstr ""
+msgstr "Actuellement, l'effet de l'invocation de cette action est @emph{uniquement} de passer au profil du système vers une autre génération existante et de réarranger le menu du chargeur d'amorçage. Pour vraiment commencer à utiliser la génération spécifiée, vous devez redémarrer après avoir lancé cette action. Dans le futur, elle sera corrigée pour faire la même chose que @command{reconfigure}, comme réactiver et désactiver les services."
#. type: table
#: doc/guix.texi:22367
msgid "This action will fail if the specified generation does not exist."
-msgstr ""
+msgstr "Cette action échouera si la génération spécifiée n'existe pas."
#. type: item
#: doc/guix.texi:22368
#, no-wrap
msgid "roll-back"
-msgstr ""
+msgstr "roll-back"
#. type: table
#: doc/guix.texi:22374
msgid "Switch to the preceding system generation. The next time the system boots, it will use the preceding system generation. This is the inverse of @command{reconfigure}, and it is exactly the same as invoking @command{switch-generation} with an argument of @code{-1}."
-msgstr ""
+msgstr "Passe à la génération précédente du système. Au prochain démarrage, la génération précédente sera utilisée. C'est le contraire de @command{reconfigure}, et c'est exactement comme invoquer @command{switch-generation} avec pour argument @code{-1}."
#. type: table
#: doc/guix.texi:22378
msgid "Currently, as with @command{switch-generation}, you must reboot after running this action to actually start using the preceding system generation."
-msgstr ""
+msgstr "Actuellement, comme pour @command{switch-generation}, vous devez redémarrer après avoir lancé cette action pour vraiment démarrer sur la génération précédente du système."
#. type: table
#: doc/guix.texi:22383
msgid "Build the derivation of the operating system, which includes all the configuration files and programs needed to boot and run the system. This action does not actually install anything."
-msgstr ""
+msgstr "Construit la dérivation du système d'exploitation, ce qui comprend tous les fichiers de configuration et les programmes requis pour démarrer et lancer le système. Cette action n'installe rien."
#. type: item
#: doc/guix.texi:22384
#, no-wrap
msgid "init"
-msgstr ""
+msgstr "init"
#. type: table
#: doc/guix.texi:22388
msgid "Populate the given directory with all the files necessary to run the operating system specified in @var{file}. This is useful for first-time installations of GuixSD. For instance:"
-msgstr ""
+msgstr "Rempli le répertoire donné avec tous les fichiers nécessaires à lancer le système d'exploitation spécifié dans @var{file}. C'est utile pour la première installation de GuixSD. Par exemple :"
#. type: example
#: doc/guix.texi:22391
#, no-wrap
msgid "guix system init my-os-config.scm /mnt\n"
-msgstr ""
+msgstr "guix system init my-os-config.scm /mnt\n"
#. type: table
#: doc/guix.texi:22398
msgid "copies to @file{/mnt} all the store items required by the configuration specified in @file{my-os-config.scm}. This includes configuration files, packages, and so on. It also creates other essential files needed for the system to operate correctly---e.g., the @file{/etc}, @file{/var}, and @file{/run} directories, and the @file{/bin/sh} file."
-msgstr ""
+msgstr "copie tous les éléments du dépôt requis par la configuration spécifiée dans @file{my-os-config.scm} dans @file{/mnt}. Cela comprend les fichiers de configuration, les paquets, etc. Elle crée aussi d'autres fichiers essentiels requis pour que le système fonctionne correctement — p.@: ex.@: les répertoires @file{/etc}, @file{/var} et @file{/run} et le fichier @file{/bin/sh}."
#. type: table
#: doc/guix.texi:22402
msgid "This command also installs bootloader on the target specified in @file{my-os-config}, unless the @option{--no-bootloader} option was passed."
-msgstr ""
+msgstr "Cette commande installe aussi le chargeur d'amorçage sur la cible spécifiée dans @file{my-os-config}, à moins que l'option @option{--no-bootloader} ne soit passée."
#. type: item
#: doc/guix.texi:22403
#, no-wrap
msgid "vm"
-msgstr ""
+msgstr "vm"
#. type: cindex
#: doc/guix.texi:22404 doc/guix.texi:22668
#, no-wrap
msgid "virtual machine"
-msgstr ""
+msgstr "machine virtuelle"
#. type: cindex
#: doc/guix.texi:22405
#, no-wrap
msgid "VM"
-msgstr ""
+msgstr "VM"
#. type: anchor{#1}
#: doc/guix.texi:22412
msgid "guix system vm"
-msgstr ""
+msgstr "guix system vm"
#. type: table
#: doc/guix.texi:22412
msgid "Build a virtual machine that contains the operating system declared in @var{file}, and return a script to run that virtual machine (VM). Arguments given to the script are passed to QEMU as in the example below, which enables networking and requests 1@tie{}GiB of RAM for the emulated machine:"
-msgstr ""
+msgstr "Construit une machine virtuelle qui contient le système d'exploitation déclaré dans @var{file} et renvoie un script pour lancer cette machine virtuelle (VM). Les arguments passés au script sont passés à QEMU comme dans l'exemple ci-dessous, qui active le réseau et demande 1@tie{}Go de RAM pour la machine émulée :"
#. type: example
#: doc/guix.texi:22415
#, no-wrap
msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n"
-msgstr ""
+msgstr "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n"
#. type: table
#: doc/guix.texi:22418
msgid "The VM shares its store with the host system."
-msgstr ""
+msgstr "La VM partage sont dépôt avec le système hôte."
#. type: table
#: doc/guix.texi:22423
msgid "Additional file systems can be shared between the host and the VM using the @code{--share} and @code{--expose} command-line options: the former specifies a directory to be shared with write access, while the latter provides read-only access to the shared directory."
-msgstr ""
+msgstr "Vous pouvez partager des fichiers supplémentaires entre l'hôte et la VM avec les options en ligne de commande @code{--share} et @code{--expose} : la première spécifie un répertoire à partager avec accès en écriture, tandis que le deuxième fournit un accès en lecture-seule au répertoire partagé."
#. type: table
#: doc/guix.texi:22427
msgid "The example below creates a VM in which the user's home directory is accessible read-only, and where the @file{/exchange} directory is a read-write mapping of @file{$HOME/tmp} on the host:"
-msgstr ""
+msgstr "L'exemple ci-dessous crée une VM dans laquelle le répertoire personnel de l'utilisateur est accessible en lecture-seule, et où le répertoire @file{/exchange} est une correspondance en lecture-écriture à @file{$HOME/tmp} sur l'hôte :"
#. type: example
#: doc/guix.texi:22431
@@ -41042,77 +41121,79 @@ msgid ""
"guix system vm my-config.scm \\\n"
" --expose=$HOME --share=$HOME/tmp=/exchange\n"
msgstr ""
+"guix system vm my-config.scm \\\n"
+" --expose=$HOME --share=$HOME/tmp=/exchange\n"
#. type: table
#: doc/guix.texi:22436
msgid "On GNU/Linux, the default is to boot directly to the kernel; this has the advantage of requiring only a very tiny root disk image since the store of the host can then be mounted."
-msgstr ""
+msgstr "Sur GNU/Linux, le comportement par défaut consiste à démarrer directement sur le noyau ; cela a l'avantage de n'avoir besoin que d'une toute petite image disque puisque le dépôt de l'hôte peut ensuite être monté."
#. type: table
#: doc/guix.texi:22442
msgid "The @code{--full-boot} option forces a complete boot sequence, starting with the bootloader. This requires more disk space since a root image containing at least the kernel, initrd, and bootloader data files must be created. The @code{--image-size} option can be used to specify the size of the image."
-msgstr ""
+msgstr "L'option @code{--full-boot} force une séquence de démarrage complète, en commençant par le chargeur d'amorçage. Cela requiert plus d'espace disque puisqu'une image racine contenant au moins le noyau, l'initrd et les fichiers de données du chargeur d'amorçage doit être créé. On peut utiliser l'option @code{--image-size} pour spécifier la taille de l'image."
#. type: cindex
#: doc/guix.texi:22443
#, no-wrap
msgid "System images, creation in various formats"
-msgstr ""
+msgstr "Images système, création en divers formats"
#. type: cindex
#: doc/guix.texi:22444
#, no-wrap
msgid "Creating system images in various formats"
-msgstr ""
+msgstr "Créer des images systèmes sous différents formats"
#. type: item
#: doc/guix.texi:22445
#, no-wrap
msgid "vm-image"
-msgstr ""
+msgstr "vm-image"
#. type: itemx
#: doc/guix.texi:22446
#, no-wrap
msgid "disk-image"
-msgstr ""
+msgstr "disk-image"
#. type: itemx
#: doc/guix.texi:22447
#, no-wrap
msgid "docker-image"
-msgstr ""
+msgstr "docker-image"
#. type: table
#: doc/guix.texi:22455
msgid "Return a virtual machine, disk image, or Docker image of the operating system declared in @var{file} that stands alone. By default, @command{guix system} estimates the size of the image needed to store the system, but you can use the @option{--image-size} option to specify a value. Docker images are built to contain exactly what they need, so the @option{--image-size} option is ignored in the case of @code{docker-image}."
-msgstr ""
+msgstr "Renvoie une machine virtuelle, une image disque ou une image Docker du système d'exploitation déclaré dans @var{file} qui se suffit à elle-même. Par défaut, @command{guix system} estime la taille de l'image requise pour stocker le système, mais vous pouvez utiliser l'option @option{--image-size} pour spécifier une valeur. Les images Docker sont construites pour contenir exactement ce dont elles ont besoin, donc l'option @option{--image-size} est ignorée dans le cas de @code{docker-image}."
#. type: table
#: doc/guix.texi:22458
msgid "You can specify the root file system type by using the @option{--file-system-type} option. It defaults to @code{ext4}."
-msgstr ""
+msgstr "Vous pouvez spécifier le type de système de fichiers racine avec l'option @option{--file-system-type}. La valeur par défaut est @code{ext4}."
#. type: table
#: doc/guix.texi:22462
msgid "When using @code{vm-image}, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running GuixSD in a VM}, for more information on how to run the image in a virtual machine."
-msgstr ""
+msgstr "Lorsque vous utilisez @code{vm-image}, l'image renvoyée est au format qcow, que l'émulateur QEMU peut utiliser efficacement. @xref{Running GuixSD in a VM}, pour plus d'informations sur la manière de lancer l'image dans une machine virtuelle."
#. type: table
#: doc/guix.texi:22467
msgid "When using @code{disk-image}, a raw disk image is produced; it can be copied as is to a USB stick, for instance. Assuming @code{/dev/sdc} is the device corresponding to a USB stick, one can copy the image to it using the following command:"
-msgstr ""
+msgstr "Lorsque vous utilisez @code{disk-image}, une image disque brute est produite ; elle peut être copiée telle quelle sur un périphérique USB. En supposant que @code{/dev/sdc} est le périphérique correspondant à une clef USB, on peut copier l'image dessus avec la commande suivante :"
#. type: example
#: doc/guix.texi:22470
#, no-wrap
msgid "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n"
-msgstr ""
+msgstr "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n"
#. type: table
#: doc/guix.texi:22477
msgid "When using @code{docker-image}, a Docker image is produced. Guix builds the image from scratch, not from a pre-existing Docker base image. As a result, it contains @emph{exactly} what you define in the operating system configuration file. You can then load the image and launch a Docker container using commands like the following:"
-msgstr ""
+msgstr "En utilisant @code{docker-image}, on produit une image Docker. Guix construit l'image de zéro, et non à partir d'une image Docker de base pré-existante. En conséquence, elle contient @emph{exactly} ce que vous avez défini dans le fichier de configuration du système. Vous pouvez ensuite charger l'image et lancer un conteneur Docker avec des commande comme :"
#. type: example
#: doc/guix.texi:22483
@@ -41123,26 +41204,30 @@ msgid ""
" --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n"
" $image_id /var/guix/profiles/system/boot\n"
msgstr ""
+"image_id=\"$(docker load < guixsd-docker-image.tar.gz)\"\n"
+"docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\\\\n"
+" --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n"
+" $image_id /var/guix/profiles/system/boot\n"
#. type: table
#: doc/guix.texi:22493
msgid "This command starts a new Docker container from the specified image. It will boot the GuixSD system in the usual manner, which means it will start any services you have defined in the operating system configuration. Depending on what you run in the Docker container, it may be necessary to give the container additional permissions. For example, if you intend to build software using Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker run}."
-msgstr ""
+msgstr "Cette commande démarre un nouveau conteneur Docker à partir de l'image spécifiée. Il démarrera le système GuixSD de la manière habituelle, ce qui signifie qu'il démarrera tous les services que vous avez définis dans la configuration du système d'exploitation. En fonction de ce que vous lancez dans le conteneur Docker, il peut être nécessaire de donner des permissions supplémentaires au conteneur. Par exemple, si vous voulez construire des paquets avec Guix dans le conteneur Docker, vous devriez passer @option{--privileged} à @code{docker run}."
#. type: table
#: doc/guix.texi:22501
msgid "Return a script to run the operating system declared in @var{file} within a container. Containers are a set of lightweight isolation mechanisms provided by the kernel Linux-libre. Containers are substantially less resource-demanding than full virtual machines since the kernel, shared objects, and other resources can be shared with the host system; this also means they provide thinner isolation."
-msgstr ""
+msgstr "Renvoie un script qui lance le système d'exploitation déclaré dans @var{file} dans un conteneur. Les conteneurs sont un ensemble de mécanismes d'isolation légers fournis par le noyau Linux-libre. Les conteneurs sont substantiellement moins gourmands en ressources que les machines virtuelles complètes car le noyau, les objets partagés et d'autres ressources peuvent être partagés avec le système hôte ; cela signifie aussi une isolation moins complète."
#. type: table
#: doc/guix.texi:22505
msgid "Currently, the script must be run as root in order to support more than a single user and group. The container shares its store with the host system."
-msgstr ""
+msgstr "Actuellement, le script doit être lancé en root pour pouvoir supporter plus d'un utilisateur et d'un groupe. Le conteneur partage son dépôt avec le système hôte."
#. type: table
#: doc/guix.texi:22509
msgid "As with the @code{vm} action (@pxref{guix system vm}), additional file systems to be shared between the host and container can be specified using the @option{--share} and @option{--expose} options:"
-msgstr ""
+msgstr "Comme avec l'action @code{vm} (@pxref{guix system vm}), des systèmes de fichiers supplémentaires peuvent être partagés entre l'hôte et le conteneur avec les options @option{--share} et @option{--expose} :"
#. type: example
#: doc/guix.texi:22513
@@ -41151,92 +41236,94 @@ msgid ""
"guix system container my-config.scm \\\n"
" --expose=$HOME --share=$HOME/tmp=/exchange\n"
msgstr ""
+"guix system container my-config.scm \\\n"
+" --expose=$HOME --share=$HOME/tmp=/exchange\n"
#. type: quotation
#: doc/guix.texi:22517
msgid "This option requires Linux-libre 3.19 or newer."
-msgstr ""
+msgstr "Cette option requiert Linux-libre ou supérieur."
#. type: Plain text
#: doc/guix.texi:22524
msgid "@var{options} can contain any of the common build options (@pxref{Common Build Options}). In addition, @var{options} can contain one of the following:"
-msgstr ""
+msgstr "@var{options} peut contenir n'importe quelle option commune de construction (@pxref{Common Build Options}). En plus, @var{options} peut contenir l'une de ces options :"
#. type: table
#: doc/guix.texi:22533
msgid "Consider the operating-system @var{expr} evaluates to. This is an alternative to specifying a file which evaluates to an operating system. This is used to generate the GuixSD installer @pxref{Building the Installation Image})."
-msgstr ""
+msgstr "Considère le système d'exploitation en lequel s'évalue @var{expr}. C'est une alternative à la spécification d'un fichier qui s'évalue en un système d'exploitation. C'est utilisé pour générer l'installateur GuixSD (@pxref{Building the Installation Image})."
#. type: table
#: doc/guix.texi:22538
msgid "Attempt to build for @var{system} instead of the host system type. This works as per @command{guix build} (@pxref{Invoking guix build})."
-msgstr ""
+msgstr "Essaye de construire pour @var{system} au lieu du type du système hôte. Cela fonction comme pour @command{guix build} (@pxref{Invoking guix build})."
#. type: item
#: doc/guix.texi:22539
#, no-wrap
msgid "--derivation"
-msgstr ""
+msgstr "--derivation"
#. type: table
#: doc/guix.texi:22543
msgid "Return the derivation file name of the given operating system without building anything."
-msgstr ""
+msgstr "Renvoie le nom du fichier de dérivation du système d'exploitation donné sans rien construire."
#. type: item
#: doc/guix.texi:22544
#, no-wrap
msgid "--file-system-type=@var{type}"
-msgstr ""
+msgstr "--file-system-type=@var{type}"
#. type: table
#: doc/guix.texi:22548
msgid "For the @code{disk-image} action, create a file system of the given @var{type} on the image."
-msgstr ""
+msgstr "Pour l'action @code{disk-image}, crée un système de fichier du @var{type} donné sur l'image."
#. type: table
#: doc/guix.texi:22550
msgid "When this option is omitted, @command{guix system} uses @code{ext4}."
-msgstr ""
+msgstr "Lorsque cette option est omise, @command{guix system} utilise @code{ext4}."
#. type: cindex
#: doc/guix.texi:22551
#, no-wrap
msgid "ISO-9660 format"
-msgstr ""
+msgstr "format ISO-9660"
#. type: cindex
#: doc/guix.texi:22552
#, no-wrap
msgid "CD image format"
-msgstr ""
+msgstr "format d'image de CD"
#. type: cindex
#: doc/guix.texi:22553
#, no-wrap
msgid "DVD image format"
-msgstr ""
+msgstr "format d'image de DVD"
#. type: table
#: doc/guix.texi:22556
msgid "@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable for burning on CDs and DVDs."
-msgstr ""
+msgstr "@code{--file-system-type=iso9660} produit une image ISO-9660, qu'il est possible de graver sur un CD ou un DVD."
#. type: item
#: doc/guix.texi:22557
#, no-wrap
msgid "--image-size=@var{size}"
-msgstr ""
+msgstr "--image-size=@var{size}"
#. type: table
#: doc/guix.texi:22562
msgid "For the @code{vm-image} and @code{disk-image} actions, create an image of the given @var{size}. @var{size} may be a number of bytes, or it may include a unit as a suffix (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
-msgstr ""
+msgstr "Pour les actions @code{vm-image} et @code{disk-image}, crée une image de la taille donnée @var{size}. @var{size} peut être un nombre d'octets ou contenir un suffixe d'unité (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
#. type: table
#: doc/guix.texi:22566
msgid "When this option is omitted, @command{guix system} computes an estimate of the image size as a function of the size of the system declared in @var{file}."
-msgstr ""
+msgstr "Lorsque cette option est omise, @command{guix system} calcule une estimation de la taille de l'image en fonction de la taille du système déclaré dans @var{file}."
#. type: item
#: doc/guix.texi:22572
@@ -41247,163 +41334,163 @@ msgstr "--skip-checks"
#. type: table
#: doc/guix.texi:22574
msgid "Skip pre-installation safety checks."
-msgstr ""
+msgstr "Passe les vérifications de sécurité avant l'installation."
#. type: table
#: doc/guix.texi:22581
msgid "By default, @command{guix system init} and @command{guix system reconfigure} perform safety checks: they make sure the file systems that appear in the @code{operating-system} declaration actually exist (@pxref{File Systems}), and that any Linux kernel modules that may be needed at boot time are listed in @code{initrd-modules} (@pxref{Initial RAM Disk}). Passing this option skips these tests altogether."
-msgstr ""
+msgstr "Par défaut, @command{guix system init} et @command{guix system reconfigure} effectuent des vérifications de sécurité : ils s'assurent que les systèmes de fichiers qui apparaissent dans la déclaration @code{operating-system} existent vraiment (@pxref{File Systems}) et que les modules de noyau Linux qui peuvent être requis au démarrage sont listés dans @code{initrd-modules} (@pxref{Initial RAM Disk}). Passer cette option saute ces vérifications complètement."
#. type: item
#: doc/guix.texi:22582
#, no-wrap
msgid "--on-error=@var{strategy}"
-msgstr ""
+msgstr "--on-error=@var{strategy}"
#. type: table
#: doc/guix.texi:22585
msgid "Apply @var{strategy} when an error occurs when reading @var{file}. @var{strategy} may be one of the following:"
-msgstr ""
+msgstr "Applique @var{strategy} lorsqu'une erreur arrive lors de la lecture de @var{file}. @var{strategy} peut être l'une des valeurs suivantes :"
#. type: item
#: doc/guix.texi:22587
#, no-wrap
msgid "nothing-special"
-msgstr ""
+msgstr "nothing-special"
#. type: table
#: doc/guix.texi:22589
msgid "Report the error concisely and exit. This is the default strategy."
-msgstr ""
+msgstr "Rapporte l'erreur de manière concise et quitte. C'est la stratégie par défaut."
#. type: item
#: doc/guix.texi:22590
#, no-wrap
msgid "backtrace"
-msgstr ""
+msgstr "backtrace"
#. type: table
#: doc/guix.texi:22592
msgid "Likewise, but also display a backtrace."
-msgstr ""
+msgstr "Pareil, mais affiche aussi une trace de débogage."
#. type: item
#: doc/guix.texi:22593
#, no-wrap
msgid "debug"
-msgstr ""
+msgstr "debug"
#. type: table
#: doc/guix.texi:22599
msgid "Report the error and enter Guile's debugger. From there, you can run commands such as @code{,bt} to get a backtrace, @code{,locals} to display local variable values, and more generally inspect the state of the program. @xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of available debugging commands."
-msgstr ""
+msgstr "Rapporte l'erreur et entre dans le débogueur Guile. À partir de là, vous pouvez lancer des commandes comme @code{,bt} pour obtenir une trace de débogage, @code{,locals} pour afficher les valeurs des variables locales et plus généralement inspecter l'état du programme. @xref{Debug Commands,,, guile, GNU Guile Reference Manual}, pour une liste de commandes de débogage disponibles."
#. type: quotation
#: doc/guix.texi:22609
msgid "All the actions above, except @code{build} and @code{init}, can use KVM support in the Linux-libre kernel. Specifically, if the machine has hardware virtualization support, the corresponding KVM kernel module should be loaded, and the @file{/dev/kvm} device node must exist and be readable and writable by the user and by the build users of the daemon (@pxref{Build Environment Setup})."
-msgstr ""
+msgstr "Toutes les actions ci-dessous, sauf @code{build} et @code{init}, peuvent utiliser le support KVM dans le noyau Linux-libre. En particulier, si la machine supporte la virtualisation matérielle, les modules du noyau KVM correspondants devraient être chargés et le nœud de périphérique @file{/dev/kvm} doit exister et être accessible en lecture et en écriture par l'utilisateur et les utilisateurs de construction du démon (@pxref{Build Environment Setup})."
#. type: Plain text
#: doc/guix.texi:22615
msgid "Once you have built, configured, re-configured, and re-re-configured your GuixSD installation, you may find it useful to list the operating system generations available on disk---and that you can choose from the bootloader boot menu:"
-msgstr ""
+msgstr "Une fois que vous avez construit, re-configuré et re-re-configuré votre installation GuixSD, vous pourriez trouver utile de lister les générations du système disponibles sur le disque — et que vous pouvez choisir dans le menu du chargeur d'amorçage :"
#. type: item
#: doc/guix.texi:22618
#, no-wrap
msgid "list-generations"
-msgstr ""
+msgstr "list-generations"
#. type: table
#: doc/guix.texi:22623
msgid "List a summary of each generation of the operating system available on disk, in a human-readable way. This is similar to the @option{--list-generations} option of @command{guix package} (@pxref{Invoking guix package})."
-msgstr ""
+msgstr "Affiche un résumé de chaque génération du système d'exploitation disponible sur le disque, dans un format lisible pour un humain. C'est similaire à l'option @option{--list-generations} de @command{guix package} (@pxref{Invoking guix package})."
#. type: table
#: doc/guix.texi:22628
msgid "Optionally, one can specify a pattern, with the same syntax that is used in @command{guix package --list-generations}, to restrict the list of generations displayed. For instance, the following command displays generations that are up to 10 days old:"
-msgstr ""
+msgstr "Éventuellement, on peut spécifier un motif, avec la même syntaxe utilisée pour @command{guix package --list-generations}, pour restreindre la liste des générations affichées. Par exemple, la commande suivante affiche les générations de moins de 10 jours :"
#. type: example
#: doc/guix.texi:22631
#, no-wrap
msgid "$ guix system list-generations 10d\n"
-msgstr ""
+msgstr "$ guix system list-generations 10d\n"
#. type: Plain text
#: doc/guix.texi:22638
msgid "The @command{guix system} command has even more to offer! The following sub-commands allow you to visualize how your system services relate to each other:"
-msgstr ""
+msgstr "La commande @command{guix system} a même plus à proposer ! Les sous-commandes suivantes vous permettent de visualiser comme vos services systèmes sont liés les uns aux autres :"
#. type: anchor{#1}
#: doc/guix.texi:22640
msgid "system-extension-graph"
-msgstr ""
+msgstr "system-extension-graph"
#. type: item
#: doc/guix.texi:22642
#, no-wrap
msgid "extension-graph"
-msgstr ""
+msgstr "extension-graph"
#. type: table
#: doc/guix.texi:22647
msgid "Emit in Dot/Graphviz format to standard output the @dfn{service extension graph} of the operating system defined in @var{file} (@pxref{Service Composition}, for more information on service extensions.)"
-msgstr ""
+msgstr "Affiche le @dfn{graphe d'extension des services} du système d'exploitation défini dans @var{file} au format Dot/Graphviz sur la sortie standard (@pxref{Service Composition}, pour plus d'informations sur l'extension des services)."
#. type: table
#: doc/guix.texi:22649
msgid "The command:"
-msgstr ""
+msgstr "La commande :"
#. type: example
#: doc/guix.texi:22652
#, no-wrap
msgid "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n"
-msgstr ""
+msgstr "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n"
#. type: table
#: doc/guix.texi:22655
msgid "produces a PDF file showing the extension relations among services."
-msgstr ""
+msgstr "produit un fichier PDF montrant les relations d'extension entre les services."
#. type: anchor{#1}
#: doc/guix.texi:22657
msgid "system-shepherd-graph"
-msgstr ""
+msgstr "system-shepherd-graph"
#. type: item
#: doc/guix.texi:22657
#, no-wrap
msgid "shepherd-graph"
-msgstr ""
+msgstr "shepherd-graph"
#. type: table
#: doc/guix.texi:22662
msgid "Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of shepherd services of the operating system defined in @var{file}. @xref{Shepherd Services}, for more information and for an example graph."
-msgstr ""
+msgstr "Affiche le @dfn{graphe de dépendance} des services shepherd du système d'exploitation défini dans @var{file} au format Dot/Graphviz sur la sortie standard. @xref{Shepherd Services}, pour plus d'informations et un exemple de graphe."
#. type: subsection
#: doc/guix.texi:22666
#, no-wrap
msgid "Running GuixSD in a Virtual Machine"
-msgstr ""
+msgstr "Exécuter GuixSD sur une machine virtuelle"
#. type: Plain text
#: doc/guix.texi:22676
msgid "To run GuixSD in a virtual machine (VM), one can either use the pre-built GuixSD VM image distributed at @indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz} , or build their own virtual machine image using @command{guix system vm-image} (@pxref{Invoking guix system}). The returned image is in qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can efficiently use."
-msgstr ""
+msgstr "Pour exécuter GuixSD sur une machine virtuelle (VM), on peut soit utiliser l'image de VM GuixSD pré-construite sur @indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.xz} ou construire sa propre image de machine virtuelle avec @command{guix system vm-image} (@pxref{Invoking guix system}). L'image renvoyée est au format qcow2, que l'@uref{http://qemu.org/,émulateur QEMU} peut utiliser efficacement."
#. type: cindex
#: doc/guix.texi:22677
#, no-wrap
msgid "QEMU"
-msgstr ""
+msgstr "QEMU"
#. type: Plain text
#: doc/guix.texi:22684
msgid "If you built your own image, you must copy it out of the store (@pxref{The Store}) and give yourself permission to write to the copy before you can use it. When invoking QEMU, you must choose a system emulator that is suitable for your hardware platform. Here is a minimal QEMU invocation that will boot the result of @command{guix system vm-image} on x86_64 hardware:"
-msgstr ""
+msgstr "Si vous construisez votre propre image, vous devez la copier en dehors du dépôt (@pxref{The Store}) et vous donner la permission d'écrire sur la copie avant de pouvoir l'utiliser. Lorsque vous invoquez QEMU, vous devez choisir un émulateur système correspondant à votre plate-forme matérielle. Voici une invocation minimale de QEMU qui démarrera le résultat de @command{guix system vm-image} sur un matériel x8_64."
#. type: example
#: doc/guix.texi:22689
@@ -41413,131 +41500,134 @@ msgid ""
" -net user -net nic,model=virtio \\\n"
" -enable-kvm -m 256 /tmp/qemu-image\n"
msgstr ""
+"$ qemu-system-x86_64 \\\n"
+" -net user -net nic,model=virtio \\\n"
+" -enable-kvm -m 256 /tmp/qemu-image\n"
#. type: Plain text
#: doc/guix.texi:22692
msgid "Here is what each of these options means:"
-msgstr ""
+msgstr "Voici la signification de ces options :"
#. type: item
#: doc/guix.texi:22694
#, no-wrap
msgid "qemu-system-x86_64"
-msgstr ""
+msgstr "qemu-system-x86_64"
#. type: table
#: doc/guix.texi:22697
msgid "This specifies the hardware platform to emulate. This should match the host."
-msgstr ""
+msgstr "Cela spécifie la plate-forme matérielle à émuler. Elle doit correspondre à l'hôte."
#. type: item
#: doc/guix.texi:22698
#, no-wrap
msgid "-net user"
-msgstr ""
+msgstr "-net user"
#. type: table
#: doc/guix.texi:22702
msgid "Enable the unprivileged user-mode network stack. The guest OS can access the host but not vice versa. This is the simplest way to get the guest OS online."
-msgstr ""
+msgstr "Active la pile réseau non privilégiée en mode utilisateur. L'OS émulé peut accéder à l'hôte mais pas l'inverse. C'est la manière la plus simple de connecter le client."
#. type: item
#: doc/guix.texi:22703
#, no-wrap
msgid "-net nic,model=virtio"
-msgstr ""
+msgstr "-net nic,model=virtio"
#. type: table
#: doc/guix.texi:22708
msgid "You must create a network interface of a given model. If you do not create a NIC, the boot will fail. Assuming your hardware platform is x86_64, you can get a list of available NIC models by running @command{qemu-system-x86_64 -net nic,model=help}."
-msgstr ""
+msgstr "Vous devez créer une interface réseau d'un modèle donné. Si vous ne créez pas de NIC, le démarrage échouera. En supposant que votre plate-forme est x86_64, vous pouvez récupérer une liste des modèles de NIC disponibles en lançant @command{qemu-system-x86_64 -net nic,model=help}."
#. type: item
#: doc/guix.texi:22709
#, no-wrap
msgid "-enable-kvm"
-msgstr ""
+msgstr "-enable-kvm"
#. type: table
#: doc/guix.texi:22713
msgid "If your system has hardware virtualization extensions, enabling the virtual machine support (KVM) of the Linux kernel will make things run faster."
-msgstr ""
+msgstr "Si votre système a des extensions de virtualisation matérielle, activer le support des machines virtuelles de Linux (KVM) accélérera les choses."
#. type: item
#: doc/guix.texi:22714
#, no-wrap
msgid "-m 256"
-msgstr ""
+msgstr "-m 256"
#. type: table
#: doc/guix.texi:22717
msgid "RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, which may be insufficient for some operations."
-msgstr ""
+msgstr "RAM disponible sur l'OS émulé, en mébioctets. La valeur par défaut est 128@tie{}Mo, ce qui peut ne pas suffire pour certaines opérations."
#. type: item
#: doc/guix.texi:22718
#, no-wrap
msgid "/tmp/qemu-image"
-msgstr ""
+msgstr "/tmp/qemu-image"
#. type: table
#: doc/guix.texi:22720
msgid "The file name of the qcow2 image."
-msgstr ""
+msgstr "Le nom de fichier de l'image qcow2."
#. type: Plain text
#: doc/guix.texi:22730
msgid "The default @command{run-vm.sh} script that is returned by an invocation of @command{guix system vm} does not add a @command{-net user} flag by default. To get network access from within the vm add the @code{(dhcp-client-service)} to your system definition and start the VM using @command{`guix system vm config.scm` -net user}. An important caveat of using @command{-net user} for networking is that @command{ping} will not work, because it uses the ICMP protocol. You'll have to use a different command to check for network connectivity, for example @command{guix download}."
-msgstr ""
+msgstr "Le script @command{run-vm.sh} par défaut renvoyé par une invocation de @command{guix system vm} n'ajoute pas le drapeau @command{-net user} par défaut. Pour avoir accès au réseau dans la vm, ajoutez le @code{(dhcp-client-service)} à votre définition et démarrez la VM avec @command{`guix system vm config.scm` -net user}. Un problème important avec @command{-net user} pour le réseau, est que @command{ping} ne fonctionnera pas, car il utilise le protocole ICMP. Vous devrez utiliser une autre commande pour vérifier la connectivité réseau, par exemple @command{guix download}."
#. type: subsubsection
#: doc/guix.texi:22731
#, no-wrap
msgid "Connecting Through SSH"
-msgstr ""
+msgstr "Se connecter par SSH"
#. type: Plain text
#: doc/guix.texi:22740
msgid "To enable SSH inside a VM you need to add a SSH server like @code{(dropbear-service)} or @code{(lsh-service)} to your VM. The @code{(lsh-service}) doesn't currently boot unsupervised. It requires you to type some characters to initialize the randomness generator. In addition you need to forward the SSH port, 22 by default, to the host. You can do this with"
-msgstr ""
+msgstr "Pour activer SSH dans une VM vous devez ajouter un serveur SSH comme @code{(dropbear-service)} ou @code{(lsh-service)} à votre VM. Le service @code{(lsh-service)} ne peut actuellement pas démarrer sans supervision. Il a besoin que vous tapiez quelques caractères pour initialiser le générateur d'aléatoire. En plus vous devez transférer le port 22, par défaut, à l'hôte. Vous pouvez faire cela avec :"
#. type: example
#: doc/guix.texi:22743
#, no-wrap
msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
-msgstr ""
+msgstr "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
#. type: Plain text
#: doc/guix.texi:22746
msgid "To connect to the VM you can run"
-msgstr ""
+msgstr "Pour vous connecter à la VM vous pouvez lancer"
#. type: example
#: doc/guix.texi:22749
#, no-wrap
msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n"
-msgstr ""
+msgstr "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n"
#. type: Plain text
#: doc/guix.texi:22756
msgid "The @command{-p} tells @command{ssh} the port you want to connect to. @command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from complaining every time you modify your @command{config.scm} file and the @command{-o StrictHostKeyChecking=no} prevents you from having to allow a connection to an unknown host every time you connect."
-msgstr ""
+msgstr "Le @command{-p} donne le port auquel vous voulez vous connecter à @command{ssh}, @command{-o UserKnownHostsFile=/dev/null} évite que @command{ssh} ne se plaigne à chaque fois que vous modifiez le fichier @command{config.scm} et @command{-o StrictHostKeyChecking=no} évite que vous n'ayez à autoriser une connexion à un hôte inconnu à chaque fois que vous vous connectez."
#. type: subsubsection
#: doc/guix.texi:22757
#, no-wrap
msgid "Using @command{virt-viewer} with Spice"
-msgstr ""
+msgstr "Utiliser @command{virt-viewer} avec Spice"
#. type: Plain text
#: doc/guix.texi:22763
msgid "As an alternative to the default @command{qemu} graphical client you can use the @command{remote-viewer} from the @command{virt-viewer} package. To connect pass the @command{-spice port=5930,disable-ticketing} flag to @command{qemu}. See previous section for further information on how to do this."
-msgstr ""
+msgstr "Alternativement au client graphique @command{qemu} par défaut vous pouvez utiliser @command{remote-viewer} du paquet @command{virt-viewer}. Pour vous connecter, passez le drapeau @command{-spice port=5930,disable-ticketing} à @command{qemu}. Voir les sections précédentes pour plus d'informations sur comment faire cela."
#. type: Plain text
#: doc/guix.texi:22766
msgid "Spice also allows you to do some nice stuff like share your clipboard with your VM. To enable that you'll also have to pass the following flags to @command{qemu}:"
-msgstr ""
+msgstr "Spice a aussi de chouettes fonctionnalités comme le partage de votre presse-papier avec la VM. Pour activer cela vous devrez aussi passer les drapeaux suivants à @command{qemu} :"
#. type: example
#: doc/guix.texi:22772
@@ -41548,80 +41638,84 @@ msgid ""
"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
"name=com.redhat.spice.0\n"
msgstr ""
+"-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
+"-chardev spicevmc,name=vdagent,id=vdagent\n"
+"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
+"name=com.redhat.spice.0\n"
#. type: Plain text
#: doc/guix.texi:22775
msgid "You'll also need to add the @pxref{Miscellaneous Services, Spice service}."
-msgstr ""
+msgstr "Vous devrez aussi ajouter le @pxref{Miscellaneous Services, Spice service}."
#. type: Plain text
#: doc/guix.texi:22782
msgid "The previous sections show the available services and how one can combine them in an @code{operating-system} declaration. But how do we define them in the first place? And what is a service anyway?"
-msgstr ""
+msgstr "Les sections précédentes montrent les services disponibles et comment on peut les combiner dans une déclaration @code{operating-system}. Mais, déjà, comment les définir ? Et qu'est-ce qu'un service au fait ?"
#. type: cindex
#: doc/guix.texi:22794
#, no-wrap
msgid "daemons"
-msgstr ""
+msgstr "démons"
#. type: Plain text
#: doc/guix.texi:22807
msgid "Here we define a @dfn{service} as, broadly, something that extends the functionality of the operating system. Often a service is a process---a @dfn{daemon}---started when the system boots: a secure shell server, a Web server, the Guix build daemon, etc. Sometimes a service is a daemon whose execution can be triggered by another daemon---e.g., an FTP server started by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}. Occasionally, a service does not map to a daemon. For instance, the ``account'' service collects user accounts and makes sure they exist when the system runs; the ``udev'' service collects device management rules and makes them available to the eudev daemon; the @file{/etc} service populates the @file{/etc} directory of the system."
-msgstr ""
+msgstr "Ici nous définissons un @dfn{service} comme étant, assez largement, quelque chose qui étend la fonctionnalité d'un système d'exploitation. Souvent un service est un processus — un @dfn{démon} — démarré lorsque le système démarre : un serveur ssh, un serveur web, le démon de construction de Guix, etc. Parfois un service est un démon dont l'exécution peut être déclenchée par un autre démon — p.@: ex.@: un serveur FTP démarré par @command{inetd} ou un service D-Bus activé par @command{dbus-daemon}. Parfois, un service ne correspond pas à un démon. Par exemple, le service « de comptes » récupère la liste des comptes utilisateurs et s'assure qu'ils existent bien lorsque le système est lancé ; le service « udev » récupère les règles de gestion des périphériques et les rend disponible au démon eudev ; le service @file{/etc} rempli le répertoire @file{/etc} du système."
#. type: cindex
#: doc/guix.texi:22808
#, no-wrap
msgid "service extensions"
-msgstr ""
+msgstr "extensions de service"
#. type: Plain text
#: doc/guix.texi:22820
msgid "GuixSD services are connected by @dfn{extensions}. For instance, the secure shell service @emph{extends} the Shepherd---the GuixSD initialization system, running as PID@tie{}1---by giving it the command lines to start and stop the secure shell daemon (@pxref{Networking Services, @code{lsh-service}}); the UPower service extends the D-Bus service by passing it its @file{.service} specification, and extends the udev service by passing it device management rules (@pxref{Desktop Services, @code{upower-service}}); the Guix daemon service extends the Shepherd by passing it the command lines to start and stop the daemon, and extends the account service by passing it a list of required build user accounts (@pxref{Base Services})."
-msgstr ""
+msgstr "Les services de GuixSD sont connectés par des @dfn{extensions}. Par exemple, le service ssh @dfn{étend} le Shepherd — le système d'initialisation de GuixSD, qui tourne en tant que PID@tie{}1 — en lui donnant les lignes de commande pour démarrer et arrêter le démon ssh (@pxref{Networking Services, @code{lsh-service}}) ; le service UPower étend le service D-Bus en lui passant sa spécification @file{.service} et étend le service udev en lui passant des règles de gestion de périphériques (@pxref{Desktop Services, @code{upower-service}}) ; le démon Guix étend le Shepherd en lui passant les lignes de commande pour démarrer et arrêter le démon et étend le service de comptes en lui passant une liste des comptes utilisateurs de constructions requis (@pxref{Base Services})."
#. type: Plain text
#: doc/guix.texi:22824
msgid "All in all, services and their ``extends'' relations form a directed acyclic graph (DAG). If we represent services as boxes and extensions as arrows, a typical system might provide something like this:"
-msgstr ""
+msgstr "En définitive, les services et leurs relation « d'extensions » forment un graphe orienté acyclique (DAG). Si nous représentons les services comme des boîtes et les extensions comme des flèches, un système typique pourrait fournir quelque chose comme cela :"
#. type: Plain text
#: doc/guix.texi:22826
msgid "@image{images/service-graph,,5in,Typical service extension graph.}"
-msgstr ""
+msgstr "@image{images/service-graph,,5in,Graphe d'extension des services typique.}"
#. type: cindex
#: doc/guix.texi:22827
#, no-wrap
msgid "system service"
-msgstr ""
+msgstr "service système"
#. type: Plain text
#: doc/guix.texi:22835
msgid "At the bottom, we see the @dfn{system service}, which produces the directory containing everything to run and boot the system, as returned by the @command{guix system build} command. @xref{Service Reference}, to learn about the other service types shown here. @xref{system-extension-graph, the @command{guix system extension-graph} command}, for information on how to generate this representation for a particular operating system definition."
-msgstr ""
+msgstr "En bas, on voit le @dfn{service système} qui produit le répertoire contenant tout et lançant et démarrant le système, renvoyé par la commande @command{guix system build}. @xref{Service Reference}, pour apprendre les autres types de services montrés ici. @xref{system-extension-graph, the @command{guix system extension-graph} command}, pour plus d'informations sur la manière de générer cette représentation pour une définition de système d'exploitation particulière."
#. type: cindex
#: doc/guix.texi:22836
#, no-wrap
msgid "service types"
-msgstr ""
+msgstr "types de services"
#. type: Plain text
#: doc/guix.texi:22842
msgid "Technically, developers can define @dfn{service types} to express these relations. There can be any number of services of a given type on the system---for instance, a system running two instances of the GNU secure shell server (lsh) has two instances of @var{lsh-service-type}, with different parameters."
-msgstr ""
+msgstr "Techniquement, les développeurs peuvent définir des @dfn{types de services} pour exprimer ces relations. Il peut y avoir n'importe quel quantité de services d'un type donné sur le système — par exemple, un système sur lequel tournent deux instances du serveur ssh de GNU (lsh) a deux instance de @var{lsh-service-type}, avec des paramètres différents."
#. type: Plain text
#: doc/guix.texi:22845
msgid "The following section describes the programming interface for service types and services."
-msgstr ""
+msgstr "La section suivante décrit l'interface de programmation des types de services et des services."
#. type: Plain text
#: doc/guix.texi:22852
msgid "A @dfn{service type} is a node in the DAG described above. Let us start with a simple example, the service type for the Guix build daemon (@pxref{Invoking guix-daemon}):"
-msgstr ""
+msgstr "Un @dfn{type de service} est un nœud dans le DAG décrit plus haut. Commençons avec un exemple simple, le type de service pour le démon de construction de Guix (@pxref{Invoking guix-daemon}) :"
#. type: example
#: doc/guix.texi:22862
@@ -41636,74 +41730,82 @@ msgid ""
" (service-extension activation-service-type guix-activation)))\n"
" (default-value (guix-configuration))))\n"
msgstr ""
+"(define guix-service-type\n"
+" (service-type\n"
+" (name 'guix)\n"
+" (extensions\n"
+" (list (service-extension shepherd-root-service-type guix-shepherd-service)\n"
+" (service-extension account-service-type guix-accounts)\n"
+" (service-extension activation-service-type guix-activation)))\n"
+" (default-value (guix-configuration))))\n"
#. type: Plain text
#: doc/guix.texi:22866
msgid "It defines three things:"
-msgstr ""
+msgstr "Il définit trois choses :"
#. type: enumerate
#: doc/guix.texi:22870
msgid "A name, whose sole purpose is to make inspection and debugging easier."
-msgstr ""
+msgstr "Un nom, dont le seul but de rendre l'inspection et le débogage plus faciles."
#. type: enumerate
#: doc/guix.texi:22875
msgid "A list of @dfn{service extensions}, where each extension designates the target service type and a procedure that, given the parameters of the service, returns a list of objects to extend the service of that type."
-msgstr ""
+msgstr "Une liste d'@dfn{extensions de services}, où chaque extension désigne le type de service cible et une procédure qui, étant donné les paramètres du service, renvoie une liste d'objets pour étendre le service de ce type."
#. type: enumerate
#: doc/guix.texi:22878
msgid "Every service type has at least one service extension. The only exception is the @dfn{boot service type}, which is the ultimate service."
-msgstr ""
+msgstr "Chaque type de service a au moins une extension de service. La seule exception est le @dfn{type de service boot}, qui est le service ultime."
#. type: enumerate
#: doc/guix.texi:22881
msgid "Optionally, a default value for instances of this type."
-msgstr ""
+msgstr "Éventuellement, une valeur par défaut pour les instances de ce type."
#. type: Plain text
#: doc/guix.texi:22884
msgid "In this example, @var{guix-service-type} extends three services:"
-msgstr ""
+msgstr "Dans cet exemple, @var{guix-service-type} étend trois services :"
#. type: item
#: doc/guix.texi:22886
#, no-wrap
msgid "shepherd-root-service-type"
-msgstr ""
+msgstr "shepherd-root-service-type"
#. type: table
#: doc/guix.texi:22891
msgid "The @var{guix-shepherd-service} procedure defines how the Shepherd service is extended. Namely, it returns a @code{<shepherd-service>} object that defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd Services})."
-msgstr ""
+msgstr "La procédure @var{guix-shepherd-service} définit comment le service du Shepherd est étendu. En fait, elle renvoie un objet @code{<shepherd-service>} qui définit comment @command{guix-daemon} est démarré et stoppé (@pxref{Shepherd Services})."
#. type: item
#: doc/guix.texi:22892
#, no-wrap
msgid "account-service-type"
-msgstr ""
+msgstr "account-service-type"
#. type: table
#: doc/guix.texi:22897
msgid "This extension for this service is computed by @var{guix-accounts}, which returns a list of @code{user-group} and @code{user-account} objects representing the build user accounts (@pxref{Invoking guix-daemon})."
-msgstr ""
+msgstr "Cette extension pour ce service est calculée par @var{guix-accounts}, qui renvoie une liste d'objets @code{user-group} et @code{user-account} représentant les comptes des utilisateurs de construction (@pxref{Invoking guix-daemon})."
#. type: item
#: doc/guix.texi:22898
#, no-wrap
msgid "activation-service-type"
-msgstr ""
+msgstr "activation-service-type"
#. type: table
#: doc/guix.texi:22902
msgid "Here @var{guix-activation} is a procedure that returns a gexp, which is a code snippet to run at ``activation time''---e.g., when the service is booted."
-msgstr ""
+msgstr "Ici, @var{guix-activation} est une procédure qui renvoie une gexp, qui est un bout de code qui s'exécute au moment de l'activation — p.@: ex.@: lorsque le service est démarré."
#. type: Plain text
#: doc/guix.texi:22905
msgid "A service of this type is instantiated like this:"
-msgstr ""
+msgstr "Un service de ce type est instancié de cette manière :"
#. type: example
#: doc/guix.texi:22911
@@ -41714,27 +41816,31 @@ msgid ""
" (build-accounts 5)\n"
" (use-substitutes? #f)))\n"
msgstr ""
+"(service guix-service-type\n"
+" (guix-configuration\n"
+" (build-accounts 5)\n"
+" (use-substitutes? #f)))\n"
#. type: Plain text
#: doc/guix.texi:22919
msgid "The second argument to the @code{service} form is a value representing the parameters of this specific service instance. @xref{guix-configuration-type, @code{guix-configuration}}, for information about the @code{guix-configuration} data type. When the value is omitted, the default value specified by @code{guix-service-type} is used:"
-msgstr ""
+msgstr "Le deuxième argument de la forme @code{service} est une valeur représentant les paramètres de cet instance spécifique du service. @xref{guix-configuration-type, @code{guix-configuration}}, pour plus d'informations sur le type de données @code{guix-configuration}. Lorsque la valeur est omise, la valeur par défaut spécifiée par @code{guix-service-type} est utilisée :"
#. type: example
#: doc/guix.texi:22922
#, no-wrap
msgid "(service guix-service-type)\n"
-msgstr ""
+msgstr "(service guix-service-type)\n"
#. type: Plain text
#: doc/guix.texi:22926
msgid "@var{guix-service-type} is quite simple because it extends other services but is not extensible itself."
-msgstr ""
+msgstr "@var{guix-service-type} est très simple car il étend d'autres services mais ne peut pas être étendu."
#. type: Plain text
#: doc/guix.texi:22930
msgid "The service type for an @emph{extensible} service looks like this:"
-msgstr ""
+msgstr "Le type de service pour un service @emph{extensible} ressemble à ceci :"
#. type: example
#: doc/guix.texi:22937
@@ -41747,6 +41853,12 @@ msgid ""
" udev-shepherd-service)))\n"
"\n"
msgstr ""
+"(define udev-service-type\n"
+" (service-type (name 'udev)\n"
+" (extensions\n"
+" (list (service-extension shepherd-root-service-type\n"
+" udev-shepherd-service)))\n"
+"\n"
#. type: example
#: doc/guix.texi:22945
@@ -41760,63 +41872,70 @@ msgid ""
" (udev udev) ;the udev package to use\n"
" (rules (append initial-rules rules)))))))))\n"
msgstr ""
+" (compose concatenate) ; concatène la liste des règles\n"
+" (extend (lambda (config rules)\n"
+" (match config\n"
+" (($ <udev-configuration> udev initial-rules)\n"
+" (udev-configuration\n"
+" (udev udev) ; le paquet udev à utiliser\n"
+" (rules (append initial-rules rules)))))))))\n"
#. type: Plain text
#: doc/guix.texi:22951
msgid "This is the service type for the @uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management daemon}. Compared to the previous example, in addition to an extension of @var{shepherd-root-service-type}, we see two new fields:"
-msgstr ""
+msgstr "C'est le type de service pour le @uref{https://wiki.gentoo.org/wiki/Project:Eudev, le démon de gestion des périphériques eudev}. Comparé à l'exemple précédent, en plus d'une extension de @var{shepherd-root-service-type}, on trouve deux nouveaux champs :"
#. type: item
#: doc/guix.texi:22953
#, no-wrap
msgid "compose"
-msgstr ""
+msgstr "compose"
#. type: table
#: doc/guix.texi:22956
msgid "This is the procedure to @dfn{compose} the list of extensions to services of this type."
-msgstr ""
+msgstr "C'est la procédure pour @dfn{composer} la liste des extensions de services de ce type."
#. type: table
#: doc/guix.texi:22959
msgid "Services can extend the udev service by passing it lists of rules; we compose those extensions simply by concatenating them."
-msgstr ""
+msgstr "Les services peuvent étendre le service udev en lui passant des listes de règles ; on compose ces extensions simplement en les concaténant."
#. type: item
#: doc/guix.texi:22960
#, no-wrap
msgid "extend"
-msgstr ""
+msgstr "extend"
#. type: table
#: doc/guix.texi:22963
msgid "This procedure defines how the value of the service is @dfn{extended} with the composition of the extensions."
-msgstr ""
+msgstr "Cette procédure définie comme la valeur du service est @dfn{étendue} avec la composition des extensions."
#. type: table
#: doc/guix.texi:22968
msgid "Udev extensions are composed into a list of rules, but the udev service value is itself a @code{<udev-configuration>} record. So here, we extend that record by appending the list of rules it contains to the list of contributed rules."
-msgstr ""
+msgstr "Les extensions Udev sont composés en une liste de règles, mais la valeur du service udev est elle-même un enregistrement @code{<udev-configuration>}. Donc ici, nous étendons cet enregistrement en ajoutant la liste des règle contribuées à la liste des règles qu'il contient déjà."
#. type: table
#: doc/guix.texi:22974
msgid "This is a string giving an overview of the service type. The string can contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}). The @command{guix system search} command searches these strings and displays them (@pxref{Invoking guix system})."
-msgstr ""
+msgstr "C'est une chaîne donnant un aperçu du type de service. Elle peut contenir du balisage Texinfo (@pxref{Overview,,, texinfo, GNU Texinfo}). La commande @command{guix system search} permet de rechercher dans ces chaînes et de les afficher (@pxref{Invoking guix system})."
#. type: Plain text
#: doc/guix.texi:22979
msgid "There can be only one instance of an extensible service type such as @var{udev-service-type}. If there were more, the @code{service-extension} specifications would be ambiguous."
-msgstr ""
+msgstr "Il ne peut y avoir qu'une instance d'un type de service extensible comme @var{udev-service-type}. S'il y en avait plus, les spécification @code{service-extension} seraient ambiguës."
#. type: Plain text
#: doc/guix.texi:22982
msgid "Still here? The next section provides a reference of the programming interface for services."
-msgstr ""
+msgstr "Toujours ici ? La section suivante fournit une référence de l'interface de programmation des services."
#. type: Plain text
#: doc/guix.texi:22990
msgid "We have seen an overview of service types (@pxref{Service Types and Services}). This section provides a reference on how to manipulate services and service types. This interface is provided by the @code{(gnu services)} module."
-msgstr ""
+msgstr "Nous avons vu un résumé des types de services (@pxref{Service Types and Services}). Cette section fournit une référence sur la manière de manipuler les services et les types de services. Cette interface est fournie par le module @code{(gnu services)}."
#. type: deffn
#: doc/guix.texi:22991
@@ -41827,28 +41946,28 @@ msgstr "{Procédure Scheme} service @var{type} [@var{value}]"
#. type: deffn
#: doc/guix.texi:22995
msgid "Return a new service of @var{type}, a @code{<service-type>} object (see below.) @var{value} can be any object; it represents the parameters of this particular service instance."
-msgstr ""
+msgstr "Renvoie un nouveau service de type @var{type}, un objet @code{<service-type>} (voir plus bas). @var{value}peut être n'importe quel objet ; il représente les paramètres de cette instance particulière du service."
#. type: deffn
#: doc/guix.texi:22999
msgid "When @var{value} is omitted, the default value specified by @var{type} is used; if @var{type} does not specify a default value, an error is raised."
-msgstr ""
+msgstr "Lorsque @var{value} est omise, la valeur par défaut spécifiée par @var{type} est utilisée ; si @var{type} ne spécifie pas de valeur par défaut, une erreur est levée."
#. type: deffn
#: doc/guix.texi:23001
msgid "For instance, this:"
-msgstr ""
+msgstr "Par exemple ceci :"
#. type: example
#: doc/guix.texi:23004
#, no-wrap
msgid "(service openssh-service-type)\n"
-msgstr ""
+msgstr "(service openssh-service-type)\n"
#. type: deffn
#: doc/guix.texi:23008
msgid "is equivalent to this:"
-msgstr ""
+msgstr "est équivalent à ceci :"
#. type: example
#: doc/guix.texi:23012
@@ -41857,11 +41976,13 @@ msgid ""
"(service openssh-service-type\n"
" (openssh-configuration))\n"
msgstr ""
+"(service openssh-service-type\n"
+" (openssh-configuration))\n"
#. type: deffn
#: doc/guix.texi:23016
msgid "In both cases the result is an instance of @code{openssh-service-type} with the default configuration."
-msgstr ""
+msgstr "Dans les deux cas le résultat est une instance de @code{openssh-service-type} avec la configuration par défaut."
#. type: deffn
#: doc/guix.texi:23018
@@ -41872,7 +41993,7 @@ msgstr "{Procédure Scheme} service? @var{obj}"
#. type: deffn
#: doc/guix.texi:23020
msgid "Return true if @var{obj} is a service."
-msgstr ""
+msgstr "Renvoie vrai si @var{obj} est un service."
#. type: deffn
#: doc/guix.texi:23022
@@ -41883,7 +42004,7 @@ msgstr "{Procédure Scheme} service-kind @var{service}"
#. type: deffn
#: doc/guix.texi:23024
msgid "Return the type of @var{service}---i.e., a @code{<service-type>} object."
-msgstr ""
+msgstr "Renvoie le type de @var{service} — c.-à-d.@: un objet @code{<service-type>}."
#. type: deffn
#: doc/guix.texi:23026
@@ -41894,12 +42015,12 @@ msgstr "{Procédure Scheme} service-value @var{service}"
#. type: deffn
#: doc/guix.texi:23029
msgid "Return the value associated with @var{service}. It represents its parameters."
-msgstr ""
+msgstr "Renvoie la valeur associée à @var{service}. Elle représente ses paramètres."
#. type: Plain text
#: doc/guix.texi:23032
msgid "Here is an example of how a service is created and manipulated:"
-msgstr ""
+msgstr "Voici un exemple de la manière dont un service est créé et manipulé :"
#. type: example
#: doc/guix.texi:23041
@@ -41948,49 +42069,49 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:23057
msgid "The @code{modify-services} form provides a handy way to change the parameters of some of the services of a list such as @var{%base-services} (@pxref{Base Services, @code{%base-services}}). It evaluates to a list of services. Of course, you could always use standard list combinators such as @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}); @code{modify-services} simply provides a more concise form for this common pattern."
-msgstr ""
+msgstr "La forme @code{modify-services} fournit une manière pratique de modifier les paramètres de certains services d'une liste comme @var{%base-services} (@pxref{Base Services, @code{%base-services}}). Elle s'évalue en une liste de services. Bien sûr, vous pouvez toujours utiliser les combinateurs de liste standards comme @code{map} et @code{fold} pour cela (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}) ; @code{modify-services} fournit simplement une manière plus concise pour ce besoin commun."
#. type: deffn
#: doc/guix.texi:23058
#, no-wrap
msgid "{Scheme Syntax} modify-services @var{services} @"
-msgstr ""
+msgstr "{Syntaxe Scheme} modify-services @var{services} @"
#. type: deffn
#: doc/guix.texi:23060
msgid "(@var{type} @var{variable} => @var{body}) @dots{}"
-msgstr ""
+msgstr "(@var{type} @var{variable} => @var{body}) @dots{}"
#. type: deffn
#: doc/guix.texi:23063
msgid "Modify the services listed in @var{services} according to the given clauses. Each clause has the form:"
-msgstr ""
+msgstr "Modifie les services listés dans @var{services} en fonction des clauses données. Chaque clause à la forme :"
#. type: example
#: doc/guix.texi:23066
#, no-wrap
msgid "(@var{type} @var{variable} => @var{body})\n"
-msgstr ""
+msgstr "(@var{type} @var{variable} => @var{body})\n"
#. type: deffn
#: doc/guix.texi:23073
msgid "where @var{type} is a service type---e.g., @code{guix-service-type}---and @var{variable} is an identifier that is bound within the @var{body} to the service parameters---e.g., a @code{guix-configuration} instance---of the original service of that @var{type}."
-msgstr ""
+msgstr "où @var{type} est un type de service — p.@: ex.@: @code{guix-service-type} — et @var{variable} est un identifiant lié dans @var{body} aux paramètres du service — p.@: ex.@: une instance de @code{guix-configuration} — du service original de ce @var{type}."
#. type: deffn
#: doc/guix.texi:23080
msgid "The @var{body} should evaluate to the new service parameters, which will be used to configure the new service. This new service will replace the original in the resulting list. Because a service's service parameters are created using @code{define-record-type*}, you can write a succinct @var{body} that evaluates to the new service parameters by using the @code{inherit} feature that @code{define-record-type*} provides."
-msgstr ""
+msgstr "La variable @var{body} devrait s'évaluer en de nouveaux paramètres de service, qui seront utilisés pour configurer le nouveau service. Ce nouveau service remplacera l'original dans la liste qui en résulte. Comme les paramètres d'un service sont créés avec @code{define-record-type*}, vous pouvez écrire un @var{body} court qui s'évalue en de nouveaux paramètres pour le services en utilisant @code{inherit}, fourni par @code{define-record-type*}."
#. type: deffn
#: doc/guix.texi:23082
msgid "@xref{Using the Configuration System}, for example usage."
-msgstr ""
+msgstr "@xref{Using the Configuration System} pour des exemples d'utilisation."
#. type: Plain text
#: doc/guix.texi:23089
msgid "Next comes the programming interface for service types. This is something you want to know when writing new service definitions, but not necessarily when simply looking for ways to customize your @code{operating-system} declaration."
-msgstr ""
+msgstr "Suit l'interface de programmation des types de services. Vous devrez la connaître pour écrire de nouvelles définitions de services, mais pas forcément lorsque vous cherchez des manières simples de personnaliser votre déclaration @code{operating-system}."
#. type: deftp
#: doc/guix.texi:23090
@@ -42007,12 +42128,12 @@ msgstr "type de service"
#. type: deftp
#: doc/guix.texi:23094
msgid "This is the representation of a @dfn{service type} (@pxref{Service Types and Services})."
-msgstr ""
+msgstr "C'est la représentation d'un @dfn{type de service} (@pxref{Service Types and Services})."
#. type: table
#: doc/guix.texi:23098
msgid "This is a symbol, used only to simplify inspection and debugging."
-msgstr ""
+msgstr "C'est un symbole, utilisé seulement pour simplifier l'inspection et le débogage."
#. type: code{#1}
#: doc/guix.texi:23099
@@ -42023,7 +42144,7 @@ msgstr "extensions"
#. type: table
#: doc/guix.texi:23101
msgid "A non-empty list of @code{<service-extension>} objects (see below)."
-msgstr ""
+msgstr "Une liste non-vide d'objets @code{<service-extension>} (voir plus bas)."
#. type: item
#: doc/guix.texi:23102
@@ -42034,12 +42155,12 @@ msgstr "@code{compose} (par défaut : @code{#f})"
#. type: table
#: doc/guix.texi:23106
msgid "If this is @code{#f}, then the service type denotes services that cannot be extended---i.e., services that do not receive ``values'' from other services."
-msgstr ""
+msgstr "S'il s'agit de @code{#f}, le type de service dénote des services qui ne peuvent pas être étendus — c.-à-d.@: qui ne reçoivent pas de « valeurs » d'autres services."
#. type: table
#: doc/guix.texi:23110
msgid "Otherwise, it must be a one-argument procedure. The procedure is called by @code{fold-services} and is passed a list of values collected from extensions. It may return any single value."
-msgstr ""
+msgstr "Sinon, ce doit être une procédure à un argument. La procédure est appelée par @code{fold-services} et on lui passe une liste de valeurs collectées par les extensions. Elle peut renvoyer n'importe quelle valeur simple."
#. type: item
#: doc/guix.texi:23111
@@ -42050,17 +42171,17 @@ msgstr "@code{extend} (par défaut : @code{#f})"
#. type: table
#: doc/guix.texi:23113
msgid "If this is @code{#f}, services of this type cannot be extended."
-msgstr ""
+msgstr "Si la valeur est @code{#f}, les services de ce type ne peuvent pas être étendus."
#. type: table
#: doc/guix.texi:23119
msgid "Otherwise, it must be a two-argument procedure: @code{fold-services} calls it, passing it the initial value of the service as the first argument and the result of applying @code{compose} to the extension values as the second argument. It must return a value that is a valid parameter value for the service instance."
-msgstr ""
+msgstr "Sinon, il doit s'agir 'une procédure à deux arguments : @code{fold-services} l'appelle et lui passe la valeur initiale du service comme premier argument et le résultat de l'application de @code{compose} sur les valeurs d'extension en second argument. Elle doit renvoyer une valeur qui est une valeur de paramètre valide pour l'instance du service."
#. type: deftp
#: doc/guix.texi:23122
msgid "@xref{Service Types and Services}, for examples."
-msgstr ""
+msgstr "@xref{Service Types and Services}, pour des exemples."
#. type: deffn
#: doc/guix.texi:23124
@@ -42072,6 +42193,8 @@ msgstr "{Procédure Scheme} service-extension @var{target-type} @"
#: doc/guix.texi:23130
msgid "@var{compute} Return a new extension for services of type @var{target-type}. @var{compute} must be a one-argument procedure: @code{fold-services} calls it, passing it the value associated with the service that provides the extension; it must return a valid value for the target service."
msgstr ""
+"@var{compute}\n"
+"Renvoie une nouvelle extension pour les services de type @var{target-type}. @var{compute} doit être une procédure à un argument : @code{fold-services} l'appelle et lui passe la valeur associée au service qui fournit cette extension ; elle doit renvoyer une valeur valide pour le service cible."
#. type: deffn
#: doc/guix.texi:23132
@@ -42082,12 +42205,12 @@ msgstr "{Procédure Scheme} service-extension? @var{obj}"
#. type: deffn
#: doc/guix.texi:23134
msgid "Return true if @var{obj} is a service extension."
-msgstr ""
+msgstr "Renvoie vrai si @var{obj} est une extension de service."
#. type: Plain text
#: doc/guix.texi:23140
msgid "Occasionally, you might want to simply extend an existing service. This involves creating a new service type and specifying the extension of interest, which can be verbose; the @code{simple-service} procedure provides a shorthand for this."
-msgstr ""
+msgstr "Parfois, vous voudrez simplement étendre un service existant. Cela implique de créer un nouveau type de service et de spécifier l'extension qui vous intéresse, ce qui peut être assez verbeux ; la procédure @code{simple-service} fournit un raccourci pour ce cas."
#. type: deffn
#: doc/guix.texi:23141
@@ -42098,12 +42221,12 @@ msgstr "{Procédure Scheme} simple-service @var{name} @var{target} @var{value}"
#. type: deffn
#: doc/guix.texi:23145
msgid "Return a service that extends @var{target} with @var{value}. This works by creating a singleton service type @var{name}, of which the returned service is an instance."
-msgstr ""
+msgstr "Renvoie un service qui étend @var{target} avec @var{value}. Cela fonctionne en créant un type de service singleton @var{name}, dont le service renvoyé est une instance."
#. type: deffn
#: doc/guix.texi:23148
msgid "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an additional job:"
-msgstr ""
+msgstr "Par exemple, cela étend mcron (@pxref{Scheduled Job Execution}) avec une tâche supplémentaire :"
#. type: example
#: doc/guix.texi:23152
@@ -42112,11 +42235,13 @@ msgid ""
"(simple-service 'my-mcron-job mcron-service-type\n"
" #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
msgstr ""
+"(simple-service 'my-mcron-job mcron-service-type\n"
+" #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
#. type: Plain text
#: doc/guix.texi:23162
msgid "At the core of the service abstraction lies the @code{fold-services} procedure, which is responsible for ``compiling'' a list of services down to a single directory that contains everything needed to boot and run the system---the directory shown by the @command{guix system build} command (@pxref{Invoking guix system}). In essence, it propagates service extensions down the service graph, updating each node parameters on the way, until it reaches the root node."
-msgstr ""
+msgstr "Au cœur de l'abstraction des services se cache la procédure @code{fold-services}, responsable de la « compilation » d'une liste de services en un répertoire unique qui contient tout ce qui est nécessaire au démarrage et à l'exécution du système — le répertoire indiqué par la commande @command{guix system build} (@pxref{Invoking guix system}). En soit, elle propage les extensions des services le long du graphe des services, en mettant à jour chaque paramètre des nœuds sur son chemin, jusqu'à atteindre le nœud racine."
#. type: deffn
#: doc/guix.texi:23163
@@ -42128,11 +42253,13 @@ msgstr "{Procédure Scheme} fold-services @var{services} @"
#: doc/guix.texi:23167
msgid "[#:target-type @var{system-service-type}] Fold @var{services} by propagating their extensions down to the root of type @var{target-type}; return the root service adjusted accordingly."
msgstr ""
+"[#:target-type @var{system-service-type}]\n"
+"Replie @var{services} en propageant leurs extensions jusqu'à la racine de type @var{target-type} ; renvoie le service racine ajusté de cette manière."
#. type: Plain text
#: doc/guix.texi:23171
msgid "Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below."
-msgstr ""
+msgstr "Enfin, le module @code{(gnu services)} définie aussi divers types de services essentiels, dont certains sont listés ci-dessous."
#. type: defvr
#: doc/guix.texi:23172
@@ -42143,7 +42270,7 @@ msgstr "{Variable Scheme} system-service-type"
#. type: defvr
#: doc/guix.texi:23175
msgid "This is the root of the service graph. It produces the system directory as returned by the @command{guix system build} command."
-msgstr ""
+msgstr "C'est la racine du graphe des services. Il produit le répertoire du système renvoyé par la commande @command{guix system build}."
#. type: defvr
#: doc/guix.texi:23177
@@ -42154,7 +42281,7 @@ msgstr "{Variable Scheme} boot-service-type"
#. type: defvr
#: doc/guix.texi:23180
msgid "The type of the ``boot service'', which produces the @dfn{boot script}. The boot script is what the initial RAM disk runs when booting."
-msgstr ""
+msgstr "Le type du service « boot », qui produit le @dfn{script de démarrage}. Le script de démarrage est ce que le disque de RAM initial lance au démarrage."
#. type: defvr
#: doc/guix.texi:23182
@@ -42165,18 +42292,18 @@ msgstr "{Variable Scheme} etc-service-type"
#. type: defvr
#: doc/guix.texi:23186
msgid "The type of the @file{/etc} service. This service is used to create files under @file{/etc} and can be extended by passing it name/file tuples such as:"
-msgstr ""
+msgstr "Le type du service @file{/etc}. Ce service est utilisé pour créer des fichiers dans @file{/etc} et peut être étendu en lui passant des tuples nom/fichier comme ceci :"
#. type: example
#: doc/guix.texi:23189
#, no-wrap
msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n"
-msgstr ""
+msgstr "(list `(\"issue\" ,(plain-file \"issue\" \"Bienvenue !\\n\")))\n"
#. type: defvr
#: doc/guix.texi:23193
msgid "In this example, the effect would be to add an @file{/etc/issue} file pointing to the given file."
-msgstr ""
+msgstr "Dans cet exemple, l'effet serait d'ajouter un fichier @file{/etc/issue} pointant vers le fichier donné."
#. type: defvr
#: doc/guix.texi:23195
@@ -42187,7 +42314,7 @@ msgstr "{Variable Scheme} setuid-program-service-type"
#. type: defvr
#: doc/guix.texi:23199
msgid "Type for the ``setuid-program service''. This service collects lists of executable file names, passed as gexps, and adds them to the set of setuid-root programs on the system (@pxref{Setuid Programs})."
-msgstr ""
+msgstr "Le type du « service setuid ». Ce service récupère des listes de noms de fichiers exécutables, passés en tant que gexps, et les ajoute à l'ensemble des programmes setuid root sur le système (@pxref{Setuid Programs})."
#. type: defvr
#: doc/guix.texi:23201
@@ -42198,7 +42325,7 @@ msgstr "{Variable Scheme} profile-service-type"
#. type: defvr
#: doc/guix.texi:23205
msgid "Type of the service that populates the @dfn{system profile}---i.e., the programs under @file{/run/current-system/profile}. Other services can extend it by passing it lists of packages to add to the system profile."
-msgstr ""
+msgstr "De type du service qui rempli le @dfn{profil du système} — c.-à-d.@: les programmes dans @file{/run/current-system/profile}. Les autres services peuvent l'étendre en lui passant des listes de paquets à ajouter au profil du système."
#. type: cindex
#: doc/guix.texi:23211
@@ -42216,32 +42343,32 @@ msgstr "PID 1"
#: doc/guix.texi:23213
#, no-wrap
msgid "init system"
-msgstr ""
+msgstr "système d'init"
#. type: Plain text
#: doc/guix.texi:23219
msgid "The @code{(gnu services shepherd)} module provides a way to define services managed by the GNU@tie{}Shepherd, which is the GuixSD initialization system---the first process that is started when the system boots, also known as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Le module @code{(gnu services shepherd)} fournit une manière de définir les services gérés par le GNU@trie{}Shepherd, qui est le système d'initialisation de GuixSD — le premier processus démarré lorsque le système démarre, aussi connu comme étant le PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
#. type: Plain text
#: doc/guix.texi:23225
msgid "Services in the Shepherd can depend on each other. For instance, the SSH daemon may need to be started after the syslog daemon has been started, which in turn can only happen once all the file systems have been mounted. The simple operating system defined earlier (@pxref{Using the Configuration System}) results in a service graph like this:"
-msgstr ""
+msgstr "Les services dans le Shepherd peuvent dépendre les uns des autres. Par exemple, le démon SSH peut avoir besoin d'être démarré après le démon syslog, qui à son tour doit être démarré après le montage des systèmes de fichiers. Le système d'exploitation simple déclaré précédemment (@pxref{Using the Configuration System}) crée un graphe de service comme ceci :"
#. type: Plain text
#: doc/guix.texi:23227
msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}"
-msgstr ""
+msgstr "@image{images/shepherd-graph,,5in,Graphe de service typique du shepherd.}"
#. type: Plain text
#: doc/guix.texi:23231
msgid "You can actually generate such a graph for any operating system definition using the @command{guix system shepherd-graph} command (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})."
-msgstr ""
+msgstr "Vous pouvez générer un tel graphe pour n'importe quelle définition de système d'exploitation avec la commande @command{guix system shepherd-graph} (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})."
#. type: Plain text
#: doc/guix.texi:23235
msgid "The @var{%shepherd-root-service} is a service object representing PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended by passing it lists of @code{<shepherd-service>} objects."
-msgstr ""
+msgstr "La variable @var{%shepherd-root-service} est un objet de service représentant le PID@tie{}1, de type @var{shepherd-root-service-type} ; il peut être étendu en lui passant des listes d'objets @code{<shepherd-service>}."
#. type: deftp
#: doc/guix.texi:23236
@@ -42252,7 +42379,7 @@ msgstr "{Type de données} shepherd-service"
#. type: deftp
#: doc/guix.texi:23238
msgid "The data type representing a service managed by the Shepherd."
-msgstr ""
+msgstr "Le type de données représentant un service géré par le Shepherd."
#. type: code{#1}
#: doc/guix.texi:23240
@@ -42263,12 +42390,12 @@ msgstr "provision"
#. type: table
#: doc/guix.texi:23242
msgid "This is a list of symbols denoting what the service provides."
-msgstr ""
+msgstr "C'est une liste de symboles dénotant ce que le service fournit."
#. type: table
#: doc/guix.texi:23247
msgid "These are the names that may be passed to @command{herd start}, @command{herd status}, and similar commands (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the @code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details."
-msgstr ""
+msgstr "Ce sont les noms qui peuvent être passés à @command{herd start}, @command{herd status} et les commandes similaires (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the @code{provides} slot,, shepherd, The GNU Shepherd Manual}, pour plus de détails."
#. type: item
#: doc/guix.texi:23248
@@ -42279,7 +42406,7 @@ msgstr "@code{requirements} (par défaut : @code{'()})"
#. type: table
#: doc/guix.texi:23250
msgid "List of symbols denoting the Shepherd services this one depends on."
-msgstr ""
+msgstr "Liste de symboles dénotant les services du Shepherd dont celui-ci dépend."
#. type: item
#: doc/guix.texi:23251
@@ -42290,7 +42417,7 @@ msgstr "@code{respawn?} (par défaut : @code{#t})"
#. type: table
#: doc/guix.texi:23254
msgid "Whether to restart the service when it stops, for instance when the underlying process dies."
-msgstr ""
+msgstr "Indique s'il faut redémarrer le service lorsqu'il s'arrête, par exemple si le processus sous-jacent meurt."
#. type: code{#1}
#: doc/guix.texi:23255
@@ -42307,7 +42434,7 @@ msgstr "@code{stop} (par défaut : @code{#~(const #f)})"
#. type: table
#: doc/guix.texi:23262
msgid "The @code{start} and @code{stop} fields refer to the Shepherd's facilities to start and stop processes (@pxref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}). They are given as G-expressions that get expanded in the Shepherd configuration file (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Les champs @code{start} et @code{stop} se réfèrent à la capacité du Shepherd de démarrer et d'arrêter des processus (@pxref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}). Ils sont donnés comme des G-expressions qui sont étendues dans le fichier de configuration du Shepherd (@pxref{G-Expressions})."
#. type: item
#: doc/guix.texi:23263
@@ -42324,7 +42451,7 @@ msgstr "action, des services Shepherd"
#. type: table
#: doc/guix.texi:23269
msgid "This is a list of @code{shepherd-action} objects (see below) defining @dfn{actions} supported by the service, in addition to the standard @code{start} and @code{stop} actions. Actions listed here become available as @command{herd} sub-commands:"
-msgstr ""
+msgstr "C'est une liste d'objets @code{shepherd-action} (voir plus bas) définissant des @dfn{actions} supportées par le service, en plus des actions @code{start} et @code{stop} standards. Les actions listées ici sont disponibles en tant que sous-commande de @command{herd}."
#. type: example
#: doc/guix.texi:23272
@@ -42335,18 +42462,18 @@ msgstr "herd @var{action} @var{service} [@var{arguments}@dots{}]\n"
#. type: table
#: doc/guix.texi:23276
msgid "A documentation string, as shown when running:"
-msgstr ""
+msgstr "Une chaîne de documentation, montrée lorsqu'on lance :"
#. type: example
#: doc/guix.texi:23279
#, no-wrap
msgid "herd doc @var{service-name}\n"
-msgstr ""
+msgstr "herd doc @var{service-name}\n"
#. type: table
#: doc/guix.texi:23283
msgid "where @var{service-name} is one of the symbols in @var{provision} (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "où @var{service-name} est l'un des symboles dans @var{provision} (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
#. type: item
#: doc/guix.texi:23284
@@ -42357,7 +42484,7 @@ msgstr "@code{modules} (par défaut : @var{%default-modules})"
#. type: table
#: doc/guix.texi:23287
msgid "This is the list of modules that must be in scope when @code{start} and @code{stop} are evaluated."
-msgstr ""
+msgstr "C'est la liste des modules qui doivent être dans le contexte lorsque @code{start} et @code{stop} sont évalués."
#. type: deftp
#: doc/guix.texi:23291
@@ -42368,7 +42495,7 @@ msgstr "{Type de données} shepherd-action"
#. type: deftp
#: doc/guix.texi:23294
msgid "This is the data type that defines additional actions implemented by a Shepherd service (see above)."
-msgstr ""
+msgstr "C'est le type de données qui définie des actions supplémentaires implémentées par un service Shepherd (voir au-dessus)."
#. type: table
#: doc/guix.texi:23298
@@ -42378,29 +42505,29 @@ msgstr "Symbole nommant l'action"
#. type: table
#: doc/guix.texi:23301
msgid "This is a documentation string for the action. It can be viewed by running:"
-msgstr ""
+msgstr "C'est une chaîne de documentation pour l'action. Elle peut être consultée avec :"
#. type: example
#: doc/guix.texi:23304
#, no-wrap
msgid "herd doc @var{service} action @var{action}\n"
-msgstr ""
+msgstr "herd doc @var{service} action @var{action}\n"
#. type: item
#: doc/guix.texi:23306
#, no-wrap
msgid "procedure"
-msgstr ""
+msgstr "procedure"
#. type: table
#: doc/guix.texi:23310
msgid "This should be a gexp that evaluates to a procedure of at least one argument, which is the ``running value'' of the service (@pxref{Slots of services,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Cela devrait être une gexp qui s'évalue en une procédure à au moins un argument, la « valeur de lancement » du service (@pxref{Slots of services,,, shepherd, The GNU Shepherd Manual})."
#. type: deftp
#: doc/guix.texi:23314
msgid "The following example defines an action called @code{say-hello} that kindly greets the user:"
-msgstr ""
+msgstr "L'exemple suivant définie une action nommée @code{dire-bonjour} qui salue amicalement l'utilisateur :"
#. type: example
#: doc/guix.texi:23323
@@ -42414,11 +42541,18 @@ msgid ""
" args)\n"
" #t)))\n"
msgstr ""
+"(shepherd-action\n"
+" (name 'dire-bonjour)\n"
+" (documentation \"Dit salut !\")\n"
+" (procedure #~(lambda (running . args)\n"
+" (format #t \"Salut, l'ami ! arguments : ~s\\n\"\n"
+" args)\n"
+" #t)))\n"
#. type: deftp
#: doc/guix.texi:23326
msgid "Assuming this action is added to the @code{example} service, then you can do:"
-msgstr ""
+msgstr "En supposant que cette action est ajoutée dans le service @code{example}, vous pouvez écrire :"
#. type: example
#: doc/guix.texi:23332
@@ -42429,11 +42563,15 @@ msgid ""
"# herd say-hello example a b c\n"
"Hello, friend! arguments: (\"a\" \"b\" \"c\")\n"
msgstr ""
+"# herd dire-bonjour example\n"
+"Salut, l'ami ! arguments : ()\n"
+"# herd dire-bonjour example a b c\n"
+"Salut, l'ami ! arguments : (\"a\" \"b\" \"c\")\n"
#. type: deftp
#: doc/guix.texi:23337
msgid "This, as you can see, is a fairly sophisticated way to say hello. @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, for more info on actions."
-msgstr ""
+msgstr "Comme vous pouvez le voir, c'est une manière assez sophistiquée de dire bonjour. @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, pour plus d'informations sur les actions."
#. type: defvr
#: doc/guix.texi:23339
@@ -42444,12 +42582,12 @@ msgstr "{Variable Scheme} shepherd-root-service-type"
#. type: defvr
#: doc/guix.texi:23341
msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1."
-msgstr ""
+msgstr "Le type de service pour le « service racine » du Shepherd — c.-à-d.@: le PID@tie{}1."
#. type: defvr
#: doc/guix.texi:23345
msgid "This is the service type that extensions target when they want to create shepherd services (@pxref{Service Types and Services}, for an example). Each extension must pass a list of @code{<shepherd-service>}."
-msgstr ""
+msgstr "C'est le type de service que les extensions ciblent lorqu'elles veulent créer un service shepherd (@pxref{Service Types and Services}, pour un exemple). Chaque extension doit passer une liste de @code{<shepherd-service>}."
#. type: defvr
#: doc/guix.texi:23347
@@ -42460,47 +42598,47 @@ msgstr "{Variable Scheme} %shepherd-root-service"
#. type: defvr
#: doc/guix.texi:23349
msgid "This service represents PID@tie{}1."
-msgstr ""
+msgstr "Ce service représente le PID@tie{}1."
#. type: cindex
#: doc/guix.texi:23355
#, no-wrap
msgid "documentation, searching for"
-msgstr ""
+msgstr "documentation, recherche"
#. type: cindex
#: doc/guix.texi:23356
#, no-wrap
msgid "searching for documentation"
-msgstr ""
+msgstr "chercher de la documentation"
#. type: cindex
#: doc/guix.texi:23357
#, no-wrap
msgid "Info, documentation format"
-msgstr ""
+msgstr "Info, format de documentation"
#. type: cindex
#: doc/guix.texi:23358
#, no-wrap
msgid "man pages"
-msgstr ""
+msgstr "man, pages de manuel"
#. type: cindex
#: doc/guix.texi:23359
#, no-wrap
msgid "manual pages"
-msgstr ""
+msgstr "pages de manuel"
#. type: Plain text
#: doc/guix.texi:23366
msgid "In most cases packages installed with Guix come with documentation. There are two main documentation formats: ``Info'', a browseable hypertext format used for GNU software, and ``manual pages'' (or ``man pages''), the linear documentation format traditionally found on Unix. Info manuals are accessed with the @command{info} command or with Emacs, and man pages are accessed using @command{man}."
-msgstr ""
+msgstr "Dans la plupart des cas les paquets installés avec Guix ont une documentation. Il y a deux formats de documentation principaux : « Info », un format hypertexte navigable utilisé par les logiciels GNU et les « pages de manuel » (ou « pages de man »), le format de documentation linéaire traditionnel chez Unix. Les manuels Info sont disponibles via la commande @command{info} ou avec Emacs, et les pages de man sont accessibles via la commande @command{man}."
#. type: Plain text
#: doc/guix.texi:23370
msgid "You can look for documentation of software installed on your system by keyword. For example, the following command searches for information about ``TLS'' in Info manuals:"
-msgstr ""
+msgstr "Vous pouvez chercher de la documentation pour les logiciels installés sur votre système par mot-clef. Par exemple, la commande suivante recherche des informations sur « TLS » dans les manuels Info :"
#. type: example
#: doc/guix.texi:23378
@@ -42513,11 +42651,17 @@ msgid ""
"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
"@dots{}\n"
msgstr ""
+"$ info -k TLS\n"
+"\"(emacs)Network Security\" -- STARTTLS\n"
+"\"(emacs)Network Security\" -- TLS\n"
+"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n"
+"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
+"@dots{}\n"
#. type: Plain text
#: doc/guix.texi:23382
msgid "The command below searches for the same keyword in man pages:"
-msgstr ""
+msgstr "La commande suivante recherche le même mot-clef dans les pages de man :"
#. type: example
#: doc/guix.texi:23388
@@ -42528,49 +42672,53 @@ msgid ""
"certtool (1) - GnuTLS certificate tool\n"
"@dots {}\n"
msgstr ""
+"$ man -k TLS\n"
+"SSL (7) - OpenSSL SSL/TLS library\n"
+"certtool (1) - GnuTLS certificate tool\n"
+"@dots {}\n"
#. type: Plain text
#: doc/guix.texi:23394
msgid "These searches are purely local to your computer so you have the guarantee that documentation you find corresponds to what you have actually installed, you can access it off-line, and your privacy is respected."
-msgstr ""
+msgstr "Ces recherches sont purement locales à votre ordinateur donc vous savez que la documentation trouvée correspond à ce qui est effectivement installé, vous pouvez y accéder hors ligne et votre vie privée est préservée."
#. type: Plain text
#: doc/guix.texi:23397
msgid "Once you have these results, you can view the relevant documentation by running, say:"
-msgstr ""
+msgstr "Une fois que vous avez ces résultats, vous pouvez visualiser la documentation appropriée avec, disons :"
#. type: example
#: doc/guix.texi:23400
#, no-wrap
msgid "$ info \"(gnutls)Core TLS API\"\n"
-msgstr ""
+msgstr "$ info \"(gnutls)Core TLS API\"\n"
#. type: Plain text
#: doc/guix.texi:23404
msgid "or:"
-msgstr ""
+msgstr "ou :"
#. type: example
#: doc/guix.texi:23407
#, no-wrap
msgid "$ man certtool\n"
-msgstr ""
+msgstr "$ man certtool\n"
#. type: Plain text
#: doc/guix.texi:23415
msgid "Info manuals contain sections and indices as well as hyperlinks like those found in Web pages. The @command{info} reader (@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to navigate manuals. @xref{Getting Started,,, info, Info: An Introduction}, for an introduction to Info navigation."
-msgstr ""
+msgstr "Les manuels Info contiennent des sections et des indexs ainsi que des hyperliens comme ce qu'on trouve sur les pages Web. Le lecteur @command{info} (@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}) et sa contre-partie dans Emacs (@pxref{Misc Help,,, emacs, The GNU Emacs Manual}) fournissent des raccourcis claviers intuitifs pour naviguer dans les manuels @xref{Getting Started,,, info, Info: An Introduction} pour trouver une introduction sur la navigation dans info."
#. type: cindex
#: doc/guix.texi:23419
#, no-wrap
msgid "debugging files"
-msgstr ""
+msgstr "fichiers de débogage"
#. type: Plain text
#: doc/guix.texi:23425
msgid "Program binaries, as produced by the GCC compilers for instance, are typically written in the ELF format, with a section containing @dfn{debugging information}. Debugging information is what allows the debugger, GDB, to map binary code to source code; it is required to debug a compiled program in good conditions."
-msgstr ""
+msgstr "Les binaires des programmes, produits par les compilateurs GCC par exemple, sont typiquement écrits au format ELF, avec une section contenant des @dfn{informations de débogage}. Les informations de débogage sont ce qui permet au débogueur, GDB, de relier le code binaire et le code source ; elles sont requises pour déboguer un programme compilé dans de bonnes conditions."
#. type: Plain text
#: doc/guix.texi:23433
@@ -42580,55 +42728,55 @@ msgstr "Le problème avec les informations de débogage est qu'elles prennent pa
#. type: Plain text
#: doc/guix.texi:23440
msgid "Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism that allows users to get the best of both worlds: debugging information can be stripped from the binaries and stored in separate files. GDB is then able to load debugging information from those files, when they are available (@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
-msgstr ""
+msgstr "Heureusement, les utilitaires binaires de GNU (Binutils) et GDB fournissent un mécanisme qui permet aux utilisateurs d'avoir le meilleur des deux mondes : les informations de débogage peuvent être nettoyées des binaires et stockées dans des fichiers séparés. GDB peut ensuite charger les informations de débogage depuis ces fichiers, lorsqu'elles sont disponibles (@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
#. type: Plain text
#: doc/guix.texi:23448
msgid "The GNU distribution takes advantage of this by storing debugging information in the @code{lib/debug} sub-directory of a separate package output unimaginatively called @code{debug} (@pxref{Packages with Multiple Outputs}). Users can choose to install the @code{debug} output of a package when they need it. For instance, the following command installs the debugging information for the GNU C Library and for GNU Guile:"
-msgstr ""
+msgstr "La distribution GNU se sert de cela pour stocker les informations de débogage dans le sous-répertoire @code{lib/debug} d'une sortie séparée du paquet appelée sans grande imagination @code{debug} (@pxref{Packages with Multiple Outputs}). Les utilisateurs peuvent choisir d'installer la sortie @code{debug} d'un paquet lorsqu'ils en ont besoin. Par exemple, la commande suivante installe les informations de débogage pour la bibliothèque C de GNU et pour GNU Guile."
#. type: example
#: doc/guix.texi:23451
#, no-wrap
msgid "guix package -i glibc:debug guile:debug\n"
-msgstr ""
+msgstr "guix package -i glibc:debug guile:debug\n"
#. type: Plain text
#: doc/guix.texi:23457
msgid "GDB must then be told to look for debug files in the user's profile, by setting the @code{debug-file-directory} variable (consider setting it from the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):"
-msgstr ""
+msgstr "On doit ensuite dire à GDB de chercher les fichiers de débogage dans le profil de l'utilisateur, en remplissant la variable @code{debug-file-directory} (vous pourriez aussi l'instancier depuis le fichier @file{~/.gdbinit}, @pxref{Startup,,, gdb, Debugging with GDB}) :"
#. type: example
#: doc/guix.texi:23460
#, no-wrap
msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
-msgstr ""
+msgstr "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
#. type: Plain text
#: doc/guix.texi:23464
msgid "From there on, GDB will pick up debugging information from the @code{.debug} files under @file{~/.guix-profile/lib/debug}."
-msgstr ""
+msgstr "À partir de maintenant, GDB récupérera les informations de débogage dans les fichiers @code{.debug} de @file{~/.guix-profile/lib/debug}."
#. type: Plain text
#: doc/guix.texi:23471
msgid "In addition, you will most likely want GDB to be able to show the source code being debugged. To do that, you will have to unpack the source code of the package of interest (obtained with @code{guix build --source}, @pxref{Invoking guix build}), and to point GDB to that source directory using the @code{directory} command (@pxref{Source Path, @code{directory},, gdb, Debugging with GDB})."
-msgstr ""
+msgstr "EN plus, vous voudrez sans doute que GDB puisse montrer le code source débogué. Pour cela, vous devrez désarchiver le code source du paquet qui vous intéresse (obtenu via @code{guix build --source}, @pxref{Invoking guix build}) et pointer GDB vers ce répertoire des sources avec la commande @code{directory} (@pxref{Source Path, @code{directory},, gdb, Debugging with GDB})."
#. type: Plain text
#: doc/guix.texi:23480
msgid "The @code{debug} output mechanism in Guix is implemented by the @code{gnu-build-system} (@pxref{Build Systems}). Currently, it is opt-in---debugging information is available only for the packages with definitions explicitly declaring a @code{debug} output. This may be changed to opt-out in the future if our build farm servers can handle the load. To check whether a package has a @code{debug} output, use @command{guix package --list-available} (@pxref{Invoking guix package})."
-msgstr ""
+msgstr "Le mécanisme de la sortie @code{debug} dans Guix est implémenté par le @code{gnu-build-system} (@pxref{Build Systems}). Actuellement, ce n'est pas obligatoire — les informations de débogage sont disponibles uniquement si les définitions déclarent explicitement une sortie @code{debug}. Cela pourrait être modifié tout en permettant aux paquets de s'en passer dans le futur si nos serveurs de construction peuvent tenir la charge. Pour vérifier si un paquet a une sortie @code{debug}, utilisez @command{guix package --list-available} (@pxref{Invoking guix package})."
#. type: cindex
#: doc/guix.texi:23485
#, no-wrap
msgid "security updates"
-msgstr ""
+msgstr "mises à jour de sécurité"
#. type: Plain text
#: doc/guix.texi:23494
msgid "Occasionally, important security vulnerabilities are discovered in software packages and must be patched. Guix developers try hard to keep track of known vulnerabilities and to apply fixes as soon as possible in the @code{master} branch of Guix (we do not yet provide a ``stable'' branch containing only security updates.) The @command{guix lint} tool helps developers find out about vulnerable versions of software packages in the distribution:"
-msgstr ""
+msgstr "Parfois, des vulnérabilités importantes sont découvertes dans les paquets logiciels et doivent être corrigées. Les développeurs de Guix essayent de suivre les vulnérabilités connues et d'appliquer des correctifs aussi vite que possible dans la branche @code{master} de Guix (nous n'avons pas encore de branche « stable » contenant seulement des mises à jour de sécurité). L'outil @command{guix lint} aide les développeurs à trouver les versions vulnérables des paquets logiciels dans la distribution."
#. type: smallexample
#: doc/guix.texi:23501
@@ -42640,16 +42788,21 @@ msgid ""
"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1923, CVE-2016-1924\n"
"@dots{}\n"
msgstr ""
+"$ guix lint -c cve\n"
+"gnu/packages/base.scm:652:2: glibc@@2.21: probablement vulnérable à CVE-2015-1781, CVE-2015-7547\n"
+"gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probablement vulnérable à CVE-2015-5276\n"
+"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probablement vulnérable à CVE-2016-1923, CVE-2016-1924\n"
+"@dots{}\n"
#. type: Plain text
#: doc/guix.texi:23504
msgid "@xref{Invoking guix lint}, for more information."
-msgstr ""
+msgstr "@xref{Invoking guix lint}, pour plus d'informations."
#. type: quotation
#: doc/guix.texi:23508
msgid "As of version @value{VERSION}, the feature described below is considered ``beta''."
-msgstr ""
+msgstr "À la version @value{VERSION}, la fonctionnalité ci-dessous est considérée comme « bêta »."
#. type: Plain text
#: doc/guix.texi:23518
@@ -42665,18 +42818,18 @@ msgstr "greffes"
#. type: Plain text
#: doc/guix.texi:23527
msgid "To address this, Guix implements @dfn{grafts}, a mechanism that allows for fast deployment of critical updates without the costs associated with a whole-distribution rebuild. The idea is to rebuild only the package that needs to be patched, and then to ``graft'' it onto packages explicitly installed by the user and that were previously referring to the original package. The cost of grafting is typically very low, and order of magnitudes lower than a full rebuild of the dependency chain."
-msgstr ""
+msgstr "Pour corriger cela, Guix implémente les @dfn{greffes}, un mécanisme qui permet un déploiement rapide des mises à jour de sécurité critiques sans le coût associé à une reconstruction complète de la distribution. L'idée est de reconstruire uniquement le paquet qui doit être corrigé puis de le « greffer » sur les paquets qui sont explicitement installés par l'utilisateur et qui se référaient avant au paquet d'origine. Le coût d'une greffe est typiquement très bas, et plusieurs ordres de grandeurs moins élevé que de reconstruire tout la chaîne de dépendance."
#. type: cindex
#: doc/guix.texi:23528
#, no-wrap
msgid "replacements of packages, for grafts"
-msgstr ""
+msgstr "remplacement de paquet, pour les greffes"
#. type: Plain text
#: doc/guix.texi:23534
msgid "For instance, suppose a security update needs to be applied to Bash. Guix developers will provide a package definition for the ``fixed'' Bash, say @var{bash-fixed}, in the usual way (@pxref{Defining Packages}). Then, the original package definition is augmented with a @code{replacement} field pointing to the package containing the bug fix:"
-msgstr ""
+msgstr "Par exemple, supposons qu'une mise à jour de sécurité doive être appliquée à Bash. Les développeurs de Guix fourniront une définition de paquet pour le Bash « corrigé », disons @var{bash-fixed}, de la manière habituelle (@pxref{Defining Packages}). Ensuite, la définition originale du paquet est augmentée avec un champ @code{replacement} qui pointe vers le paquet contenant le correctif de sécurité :"
#. type: example
#: doc/guix.texi:23541
@@ -42688,32 +42841,37 @@ msgid ""
" ;; @dots{}\n"
" (replacement bash-fixed)))\n"
msgstr ""
+"(define bash\n"
+" (package\n"
+" (name \"bash\")\n"
+" ;; @dots{}\n"
+" (replacement bash-fixed)))\n"
#. type: Plain text
#: doc/guix.texi:23551
msgid "From there on, any package depending directly or indirectly on Bash---as reported by @command{guix gc --requisites} (@pxref{Invoking guix gc})---that is installed is automatically ``rewritten'' to refer to @var{bash-fixed} instead of @var{bash}. This grafting process takes time proportional to the size of the package, usually less than a minute for an ``average'' package on a recent machine. Grafting is recursive: when an indirect dependency requires grafting, then grafting ``propagates'' up to the package that the user is installing."
-msgstr ""
+msgstr "À partir de maintenant, tout paquet dépendant directement ou indirectement de Bash — rapporté par @command{guix gc --requisites} (@pxref{Invoking guix gc}) — installé est automatiquement « réécrit » pour se référer à @var{bash-fixed} au lieu de @var{bash}. Ce processus de greffe prend du temps en proportion de la taille du paquet, typiquement moins d'une minute pour un paquet de taille « moyenne » sur une machine récente. La greffe est récursive : lorsqu'une dépendance indirecte a besoin d'être greffée, la greffe se « propage » jusqu'au paquet que l'utilisateur installe."
#. type: Plain text
#: doc/guix.texi:23559
msgid "Currently, the length of the name and version of the graft and that of the package it replaces (@var{bash-fixed} and @var{bash} in the example above) must be equal. This restriction mostly comes from the fact that grafting works by patching files, including binary files, directly. Other restrictions may apply: for instance, when adding a graft to a package providing a shared library, the original shared library and its replacement must have the same @code{SONAME} and be binary-compatible."
-msgstr ""
+msgstr "Actuellement la longueur du nom et la version de la greffe et du paquet qu'il remplace (@var{bash-fixed} et @var{bash} dans l'exemple ci-dessus) doivent être identiques. Cette restriction vient surtout du fait que la greffe fonctionne en corrigeant les fichiers, dont des fichiers binaires, directement. D'autres restrictions peuvent apparaître : par exemple, si vous ajoutez une greffe à un paquet fournissant une bibliothèque partagée, la bibliothèque partagée originale et son remplacement doivent avoir le même @code{SONAME} et être compatibles au niveau binaire."
#. type: Plain text
#: doc/guix.texi:23563
msgid "The @option{--no-grafts} command-line option allows you to forcefully avoid grafting (@pxref{Common Build Options, @option{--no-grafts}}). Thus, the command:"
-msgstr ""
+msgstr "L'option en ligne de commande @option{--no-grafts} vous permet d'éviter les greffes (@pxref{Common Build Options, @option{--no-grafts}}). Donc la commande :"
#. type: example
#: doc/guix.texi:23566
#, no-wrap
msgid "guix build bash --no-grafts\n"
-msgstr ""
+msgstr "guix build bash --no-grafts\n"
#. type: Plain text
#: doc/guix.texi:23570
msgid "returns the store file name of the original Bash, whereas:"
-msgstr ""
+msgstr "renvoie le nom de fichier dans les dépôt du Bash original, alors que :"
#. type: example
#: doc/guix.texi:23573
@@ -42724,118 +42882,118 @@ msgstr "guix build bash\n"
#. type: Plain text
#: doc/guix.texi:23578
msgid "returns the store file name of the ``fixed'', replacement Bash. This allows you to distinguish between the two variants of Bash."
-msgstr ""
+msgstr "renvoie le nom de fichier du Bash « corrigé » de remplacement. Cela vous permet de distinguer les deux variantes de Bash."
#. type: Plain text
#: doc/guix.texi:23581
msgid "To verify which Bash your whole profile refers to, you can run (@pxref{Invoking guix gc}):"
-msgstr ""
+msgstr "Pour vérifier à quel Bash votre profil se réfère, vous pouvez lancer (@pxref{Invoking guix gc}) :"
#. type: example
#: doc/guix.texi:23584
#, no-wrap
msgid "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n"
-msgstr ""
+msgstr "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n"
#. type: Plain text
#: doc/guix.texi:23589
msgid "@dots{} and compare the store file names that you get with those above. Likewise for a complete GuixSD system generation:"
-msgstr ""
+msgstr "@dots{} et comparer les noms de fichiers que vous obtenez avec ceux du dessus. De la même manière pour une génération du système GuixSD :"
#. type: example
#: doc/guix.texi:23592
#, no-wrap
msgid "guix gc -R `guix system build my-config.scm` | grep bash\n"
-msgstr ""
+msgstr "guix gc -R `guix system build my-config.scm` | grep bash\n"
#. type: Plain text
#: doc/guix.texi:23596
msgid "Lastly, to check which Bash running processes are using, you can use the @command{lsof} command:"
-msgstr ""
+msgstr "Enfin, pour vérifier quelles processus Bash lancés vous utilisez, vous pouvez utiliser la commande @command{lsof} :"
#. type: example
#: doc/guix.texi:23599
#, no-wrap
msgid "lsof | grep /gnu/store/.*bash\n"
-msgstr ""
+msgstr "lsof | grep /gnu/store/.*bash\n"
#. type: Plain text
#: doc/guix.texi:23616
msgid "From a programming viewpoint, the package definitions of the GNU distribution are provided by Guile modules in the @code{(gnu packages @dots{})} name space@footnote{Note that packages under the @code{(gnu packages @dots{})} module name space are not necessarily ``GNU packages''. This module naming scheme follows the usual Guile module naming convention: @code{gnu} means that these modules are distributed as part of the GNU system, and @code{packages} identifies modules that define packages.} (@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). For instance, the @code{(gnu packages emacs)} module exports a variable named @code{emacs}, which is bound to a @code{<package>} object (@pxref{Defining Packages})."
-msgstr ""
+msgstr "D'un point de vue programmatique, les définitions de paquets de la distribution GNU sont fournies par des modules Guile dans l'espace de noms @code{(gnu packages @dots{})}@footnote{Remarquez que les paquets sous l'espace de nom @code{(gnu packages @dots{})} ne sont pas nécessairement des « paquets GNU ». Le nom de ce module suit la convention de nommage usuelle de Guile : @code{gnu} signifie que ces modules sont distribués dans le système GNU, et @code{packages} identifie les modules qui définissent les paquets.} (@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}). Par exemple, le module @code{(gnu packages emacs)} exporte une variable nommée @code{emacs}, qui est liée à un objet @code{<package>} (@pxref{Defining Packages})."
#. type: Plain text
#: doc/guix.texi:23623
msgid "The @code{(gnu packages @dots{})} module name space is automatically scanned for packages by the command-line tools. For instance, when running @code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules are scanned until one that exports a package object whose name is @code{emacs} is found. This package search facility is implemented in the @code{(gnu packages)} module."
-msgstr ""
+msgstr "L'espace de nom @code{(gnu packages @dots{})} est automatiquement scanné par les outils en ligne de commande. Par exemple, lorsque vous lancez @code{guix package -i emacs}, tous les modules @code{(gnu packages @dots{})} sont scannés jusqu'à en trouver un qui exporte un objet de paquet dont le nom est @code{emacs}. Cette capacité à chercher des paquets est implémentée dans le module @code{(gnu packages)}."
#. type: cindex
#: doc/guix.texi:23625
#, no-wrap
msgid "package module search path"
-msgstr ""
+msgstr "chemin de recherche des modules de paquets"
#. type: Plain text
#: doc/guix.texi:23634
msgid "Users can store package definitions in modules with different names---e.g., @code{(my-packages emacs)}@footnote{Note that the file name and module name must match. For instance, the @code{(my-packages emacs)} module must be stored in a @file{my-packages/emacs.scm} file relative to the load path specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}. @xref{Modules and the File System,,, guile, GNU Guile Reference Manual}, for details.}. There are two ways to make these package definitions visible to the user interfaces:"
-msgstr ""
+msgstr "Les utilisateurs peuvent stocker des définitions dans des modules avec des noms différents — p.@: ex.@: @code{(my-packages emacs)}@footnote{Remarquez que le nom de fichier et de module doivent être identiques. Par exemple, le module @code{(my-packages emacs)} doit être stocké dans un fichier @file{my-packages/emacs.scm} relativement au chemin de chargement spécifié avec @option{--load-path} ou @code{GUIX_PACKAGE_PATH}. @xref{Modules and the File System,,, guile, GNU Guile Reference Manual} pour plus de détails}. Il y a deux manières de rendre ces définitions visibles aux interfaces utilisateurs :"
#. type: enumerate
#: doc/guix.texi:23641
msgid "By adding the directory containing your package modules to the search path with the @code{-L} flag of @command{guix package} and other commands (@pxref{Common Build Options}), or by setting the @code{GUIX_PACKAGE_PATH} environment variable described below."
-msgstr ""
+msgstr "En ajoutant le répertoire contenant vos modules de paquets au chemin de recherche avec le drapeau @code{-L} de @command{guix package} et des autres commandes (@pxref{Common Build Options}) ou en indiquant la variable d'environnement @code{GUIX_PACKAGE_PATH} décrite plus bas."
#. type: enumerate
#: doc/guix.texi:23647
msgid "By defining a @dfn{channel} and configuring @command{guix pull} so that it pulls from it. A channel is essentially a Git repository containing package modules. @xref{Channels}, for more information on how to define and use channels."
-msgstr ""
+msgstr "En définissant un @dfn{canal} et en configurant @command{guix pull} pour qu'il l'utilise. Un canal est essentiellement un dépôt Git contenant des modules de paquets. @xref{Channels}, pour plus d'informations sur comment définir et utiliser des canaux."
#. type: Plain text
#: doc/guix.texi:23650
msgid "@code{GUIX_PACKAGE_PATH} works similarly to other search path variables:"
-msgstr ""
+msgstr "@code{GUIX_PACKAGE_PATH} fonctionne comme les autres variables de chemins de recherche :"
#. type: defvr
#: doc/guix.texi:23651
#, no-wrap
msgid "{Environment Variable} GUIX_PACKAGE_PATH"
-msgstr ""
+msgstr "{Variable d'environnement} GUIX_PACKAGE_PATH"
#. type: defvr
#: doc/guix.texi:23655
msgid "This is a colon-separated list of directories to search for additional package modules. Directories listed in this variable take precedence over the own modules of the distribution."
-msgstr ""
+msgstr "C'est une liste séparée par des deux-points de répertoires dans lesquels trouver des modules de paquets supplémentaires. Les répertoires listés dans cette variable sont prioritaires par rapport aux paquets de la distribution."
#. type: Plain text
#: doc/guix.texi:23663
msgid "The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each package is built based solely on other packages in the distribution. The root of this dependency graph is a small set of @dfn{bootstrap binaries}, provided by the @code{(gnu packages bootstrap)} module. For more information on bootstrapping, @pxref{Bootstrapping}."
-msgstr ""
+msgstr "La distribution est entièrement @dfn{bootstrappée} et @dfn{auto-contenue} : chaque paquet est construit uniquement à partir d'autres paquets de la distribution. La racine de ce graphe de dépendance est un petit ensemble de @dfn{binaires de bootstrap} fournis par le module @code{(gnu packages bootstrap)}. Pour plus d'informations sur le bootstrap, @pxref{Bootstrapping}."
#. type: cindex
#: doc/guix.texi:23667
#, no-wrap
msgid "packages, creating"
-msgstr ""
+msgstr "paquets, création"
#. type: Plain text
#: doc/guix.texi:23672
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. @xref{Contributing}, for additional information on how you can help."
-msgstr ""
+msgstr "La distribution GNU est jeune et vos paquets préférés peuvent manquer. Cette section décrit comment vous pouvez aider à agrandir la distribution. @xref{Contributing} pour des informations supplémentaires sur les différentes manière de nous aider."
#. type: Plain text
#: doc/guix.texi:23680
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 ""
+msgstr "Les paquets de logiciels libres sont habituellement distribués sous forme @dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz} contenant tous les fichiers sources. Ajouter un paquet à la distribution signifie essentiellement deux choses : ajouter une @dfn{recette} qui décrit comment construire le paquet, avec une liste d'autres paquets requis pour le construire, et ajouter des @dfn{métadonnées de paquet} avec la recette, comme une description et une licence."
#. type: Plain text
#: doc/guix.texi:23689
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 ""
+msgstr "Dans Guix, toutes ces informations sont incorporées dans les @dfn{définitions de paquets}. Les définitions de paquets fournissent une vue de haut-niveau du paquet. Elles sont écrites avec la syntaxe du langage de programmation Scheme ; en fait, pour chaque paquet nous définissons une variable liée à la définition et exportons cette variable à partir d'un module (@pxref{Package Modules}). Cependant, il n'est @emph{pas} nécessaire d'avoir une connaissance approfondie du Scheme pour créer des paquets. Pour plus d'informations sur les définitions des paquets, @pxref{Defining Packages}."
#. type: Plain text
#: doc/guix.texi:23695
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 ""
+msgstr "Une fois une définition de paquet en place, stocké dans un fichier de l'arborescence des sources de Guix, il peut être testé avec la commande @command{guix build} (@pxref{Invoking guix build}). Par exemple, en supposant que le nouveau paquet s'appelle @code{gnew}, vous pouvez lancer cette commande depuis l'arborescence de construction de Guix (@pxref{Running Guix Before It Is Installed}) :"
#. type: example
#: doc/guix.texi:23698
@@ -42846,29 +43004,29 @@ msgstr "./pre-inst-env guix build gnew --keep-failed\n"
#. type: Plain text
#: doc/guix.texi:23704
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 ""
+msgstr "Utiliser @code{--keep-failed} rend facile le débogage des échecs car il fournit l'accès à l'arborescence de construction qui a échouée. Une autre sous-commande utile pour le débogage est @code{--log-file}, pour accéder au journal de construction."
#. type: Plain text
#: doc/guix.texi:23709
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 ""
+msgstr "Si le paquet n'est pas connu de la commande @command{guix}, il se peut que le fichier source ait une erreur de syntaxe, ou qu'il manque une clause @code{define-public} pour exporter la variable du paquet. Pour comprendre cela, vous pouvez charger le module depuis Guile pour avoir plus d'informations sur la véritable erreur :"
#. type: example
#: doc/guix.texi:23712
#, no-wrap
msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
-msgstr ""
+msgstr "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
#. type: Plain text
#: doc/guix.texi:23720
msgid "Once your package builds correctly, please send us a patch (@pxref{Contributing}). 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{http://hydra.gnu.org/jobset/gnu/master, our continuous integration system}."
-msgstr ""
+msgstr "Une fois que votre paquet est correctement construit, envoyez-nous un correctif (@pxref{Contributing}). Enfin, si vous avez besoin d'aide, nous serrons ravis de vous aider. Une fois que le correctif soumis est commité dans le dépôt Guix, le nouveau paquet est automatiquement construit sur les plate-formes supportées par @url{http://hydra.gnu.org/jobset/gnu/master, notre système d'intégration continue}."
#. type: cindex
#: doc/guix.texi:23721
#, no-wrap
msgid "substituter"
-msgstr ""
+msgstr "substitution"
#. type: Plain text
#: doc/guix.texi:23728
@@ -42879,69 +43037,69 @@ msgstr "On peut obtenir la nouvelle définition du paquet simplement en lançant
#: doc/guix.texi:23745
#, no-wrap
msgid "free software"
-msgstr ""
+msgstr "logiciel libre"
#. type: Plain text
#: doc/guix.texi:23753
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{http://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 ""
+msgstr "Le système d'exploitation GNU a été développé pour que les utilisateurs puissent utiliser leur ordinateur en toute liberté. GNU est un @dfn{logiciel libre}, ce qui signifie que les utilisateur ont les @url{http://www.gnu.org/philosophy/free-sw.fr.html,quatre libertés essentielles} : exécuter le programmer, étudier et modifier le programme sous sa forme source, redistribuer des copies exactes et distribuer les versions modifiées. Les paquets qui se trouvent dans la distribution GNU ne fournissent que des logiciels qui respectent ces quatre libertés."
#. type: Plain text
#: doc/guix.texi:23759
msgid "In addition, the GNU distribution follow the @url{http://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 ""
+msgstr "En plus, la distribution GNU suit les @url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,recommandations pour les distributions systèmes libres}. Entre autres choses, ces recommandations rejettent les microgiciels non libres, les recommandations de logiciels non libres et discute des façon de gérer les marques et les brevets."
#. type: Plain text
#: doc/guix.texi:23767
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 ""
+msgstr "Certaines sources amont autrement parfaitement libres contiennent une petite partie facultative qui viole les recommandations ci-dessus, par exemple car cette partie est du code non-libre. Lorsque cela arrive, les éléments en question sont supprimés avec des correctifs ou des bouts de codes appropriés dans la forme @code{origin} du paquet (@pxref{Defining Packages}). De cette manière, @code{guix build --source} renvoie la source « libérée » plutôt que la source amont sans modification."
#. type: cindex
#: doc/guix.texi:23772
#, no-wrap
msgid "package name"
-msgstr ""
+msgstr "nom du paquet"
#. type: Plain text
#: doc/guix.texi:23780
msgid "A package has actually 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 ""
+msgstr "Un paquet a en fait deux noms qui lui sont associés : d'abord il y a le nom de la @emph{variable Scheme}, celui qui suit @code{define-public}. Par ce nom, le paquet peut se faire connaître par le code Scheme, par exemple comme entrée d'un autre paquet. Deuxièmement, il y a la chaîne dans le champ @code{name} d'une définition de paquet. Ce nom est utilisé par les commandes de gestion des paquets comme @command{guix package} et @command{guix build}."
#. type: Plain text
#: doc/guix.texi:23785
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 ""
+msgstr "Les deux sont habituellement les mêmes et correspondent à la conversion en minuscule du nom du projet choisi en amont, où les underscores sont remplacés par des tirets. Par exemple, GNUnet est disponible en tant que @code{gnunet} et SDL_net en tant que @code{sdl-net}."
#. type: Plain text
#: doc/guix.texi:23790
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 ""
+msgstr "Nous n'ajoutons pas de préfixe @code{lib} au bibliothèques de paquets, à moins qu'il ne fasse partie du nom officiel du projet. Mais @pxref{Python Modules} et @ref{Perl Modules} pour des règles spéciales concernant les modules pour les langages Python et Perl."
#. type: Plain text
#: doc/guix.texi:23792
msgid "Font package names are handled differently, @pxref{Fonts}."
-msgstr ""
+msgstr "Les noms de paquets de polices sont gérés différemment, @pxref{Fonts}."
#. type: cindex
#: doc/guix.texi:23797
#, no-wrap
msgid "package version"
-msgstr ""
+msgstr "version du paquet"
#. type: Plain text
#: doc/guix.texi:23806
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 ""
+msgstr "Nous n'incluons en général que la dernière version d'un projet de logiciel libre donné. Mais parfois, par exemple pour des versions incompatibles de bibliothèques, deux (ou plus) versions du même paquet sont requises. Elles ont besoin d'un nom de variable Scheme différent. Nous utilisons le nom défini dans @ref{Package Naming} pour la version la plus récente ; les versions précédentes utilisent le même nom, suffixé par @code{-} et le plus petit préfixe du numéro de version qui permet de distinguer deux versions."
#. type: Plain text
#: doc/guix.texi:23809
msgid "The name inside the package definition is the same for all versions of a package and does not contain any version number."
-msgstr ""
+msgstr "Le nom dans la définition du paquet est le même pour toutes les versions d'un paquet et ne contient pas de numéro de version."
#. type: Plain text
#: doc/guix.texi:23811
msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as follows:"
-msgstr ""
+msgstr "Par exemple, les version 2.24.20 et 3.9.12 de GTK+ peuvent être inclus de cette manière :"
#. type: example
#: doc/guix.texi:23823
@@ -42972,7 +43130,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:23825
msgid "If we also wanted GTK+ 3.8.2, this would be packaged as"
-msgstr ""
+msgstr "Si nous voulons aussi GTK+ 3.8.2, cela serait inclus de cette manière :"
#. type: example
#: doc/guix.texi:23831
@@ -42994,17 +43152,17 @@ msgstr ""
#: doc/guix.texi:23835
#, no-wrap
msgid "version number, for VCS snapshots"
-msgstr ""
+msgstr "numéro de version, pour les instantanés des systèmes de contrôle de version"
#. type: Plain text
#: doc/guix.texi:23841
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 ""
+msgstr "Parfois, nous incluons des paquets provenant d'instantanés de systèmes de contrôle de version (VCS) au lieu de versions publiées formellement. Cela devrait rester exceptionnel, car c'est le rôle des développeurs amont de spécifier quel est la version stable. Cependant, c'est parfois nécessaire. Donc, que faut-il mettre dans le champ @code{version} ?"
#. type: Plain text
#: doc/guix.texi:23849
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 ""
+msgstr "Clairement, nous devons rendre l'identifiant de commit de l'instantané du VCS visible dans la version, mais nous devons aussi nous assurer que la version augmente de manière monotone pour que @command{guix package --upgrade} puisse déterminer quelle version est la plus récente. Comme les identifiants de commits, notamment avec Git, n'augmentent pas, nous ajoutons un numéro de révision qui nous augmentons à chaque fois que nous mettons à jour vers un nouvel instantané. La chaîne qui en résulte ressemble à cela :"
#. type: example
#: doc/guix.texi:23858
@@ -43018,11 +43176,18 @@ msgid ""
" |\n"
"latest upstream version\n"
msgstr ""
+"2.0.11-3.cabba9e\n"
+" ^ ^ ^\n"
+" | | `-- ID du commit en amont\n"
+" | |\n"
+" | `--- révision du paquet Guix\n"
+" |\n"
+"dernière version en amont\n"
#. type: Plain text
#: doc/guix.texi:23867
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.) 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 ""
+msgstr "C'est une bonne idée de tronquer les identifiants dans le champ @code{version} à disons 7 caractères. Cela évite un problème esthétique (en supposant que l'esthétique ait un rôle à jouer ici) et des problèmes avec les limites de l'OS comme la longueur maximale d'un shebang (127 octets pour le noyau Linux). Il vaut mieux utilise l'identifiant de commit complet dans @code{origin} cependant, pour éviter les ambiguïtés. Une définition de paquet peut ressembler à ceci :"
#. type: example
#: doc/guix.texi:23883
@@ -43062,54 +43227,54 @@ msgstr ""
#: doc/guix.texi:23888
#, no-wrap
msgid "package description"
-msgstr ""
+msgstr "description du paquet"
#. type: cindex
#: doc/guix.texi:23889
#, no-wrap
msgid "package synopsis"
-msgstr ""
+msgstr "résumé du paquet"
#. type: Plain text
#: doc/guix.texi:23896
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 ""
+msgstr "Comme nous l'avons vu avant, chaque paquet dans GNU@tie{}Guix contient un résumé et une description (@pxref{Defining Packages}). Les résumés et les descriptions sont importants : ce sont eux que recherche @command{guix package --search}, et c'est une source d'informations cruciale pour aider les utilisateurs à déterminer si un paquet donner correspond à leurs besoins. En conséquence, les mainteneurs doivent prêter attention à leur contenu."
#. type: Plain text
#: doc/guix.texi:23904
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 ""
+msgstr "Les résumés doivent commencer par une lettre capitale et ne doit pas finir par un point. Ils ne doivent pas commencer par « a » ou « the » (« un » ou « le/la »), ce qui n'apporte généralement rien ; par exemple, préférez « File-frobbing tool » (« Outil de frobage de fichier ») à « A tool that frobs file » (« Un outil qui frobe les fichiers »). Le résumé devrait dire ce que le paquet est — p.@: ex.@: « Utilitaire du cœur de GNU (fichier, text, shell) » — ou ce à quoi il sert — p.@: ex.@: le résumé de grep est « Affiche des lignes correspondant à un motif »."
#. type: Plain text
#: doc/guix.texi:23914
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 ""
+msgstr "Gardez à l'esprit que le résumé doit avoir un sens pour une large audience. Par exemple « Manipulation d'alignements au format SAM » peut avoir du sens pour un bioinformaticien chevronné, mais n'aidera pas ou pourra perdre une audience de non-spécialistes. C'est une bonne idée de créer un résumé qui donne une idée du domaine d'application du paquet. Dans cet exemple, cela donnerait « Manipulation d'alignements de séquences de nucléotides », ce qui devrait donner une meilleure idée à l'utilisateur pour savoir si c'est ce qu'il recherche."
#. type: Plain text
#: doc/guix.texi:23922
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 ""
+msgstr "Les descriptions devraient faire entre cinq et dix lignes. Utilisez des phrases complètes, et évitez d'utiliser des acronymes sans les introduire d'abord. Évitez les phrases marketings comme « world-leading », « industrial-strength » et « next-generation » et évitez les superlatifs comme « the most advanced » — ils ne sont pas utiles pour les utilisateurs qui cherchent un paquet et semblent même un peu suspects. À la place, essayez d'être factuels, en mentionnant les cas d'utilisation et les fonctionnalités."
#. type: cindex
#: doc/guix.texi:23923
#, no-wrap
msgid "Texinfo markup, in package descriptions"
-msgstr ""
+msgstr "balisage texinfo, dans les descriptions de paquets"
#. type: Plain text
#: doc/guix.texi:23932
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 package --show} take care of rendering it appropriately."
-msgstr ""
+msgstr "Les descriptions peuvent inclure du balisage Texinfo, ce qui est utile pour introduire des ornements comme @code{@@code} ou @code{@@dfn}, des listes à points ou des hyperliens (@pxref{Overview,,, texinfo, GNU Texinfo}). Cependant soyez prudents lorsque vous utilisez certains symboles, par exemple @samp{@@} et les accolades qui sont les caractères spéciaux de base en Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). Les interfaces utilisateurs comme @command{guix package --show} prennent en charge le rendu."
#. type: Plain text
#: doc/guix.texi:23938
msgid "Synopses and descriptions are translated by volunteers @uref{http://translationproject.org/domain/guix-packages.html, at the Translation Project} 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 ""
+msgstr "Les résumés et les descriptions sont traduits par des volontaires @uref{http://translationproject.org/domain/guix-packages.html, sur le projet de traduction} pour que le plus d'utilisateurs possible puissent les lire dans leur langue natale. Les interfaces utilisateurs les recherchent et les affichent dans la langue spécifiée par le paramètre de régionalisation actuel."
#. type: Plain text
#: doc/guix.texi:23943
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 ""
+msgstr "Pour permettre à @command{xgettext} de les extraire comme des chaînes traduisibles, les résumés et les descriptions @emph{doivent être des chaînes litérales}. Cela signifie que vous ne pouvez pas utiliser @code{string-append} ou @code{format} pour construire ces chaînes :"
#. type: lisp
#: doc/guix.texi:23949
@@ -43120,11 +43285,15 @@ msgid ""
" (synopsis \"This is translatable\")\n"
" (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n"
msgstr ""
+"(package\n"
+" ;; @dots{}\n"
+" (synopsis \"Ceci est traduisible\")\n"
+" (description (string-append \"Ceci n'est \" \"*pas*\" \" traduisible.\")))\n"
#. type: Plain text
#: doc/guix.texi:23957
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 ""
+msgstr "La traduction demande beaucoup de travail, donc en tant que packageur, faîtes encore plus attention à vos résumés et descriptions car chaque changement peut demander d'autant plus de travail de la part des traducteurs. Pour les aider, il est possible de donner des recommandations ou des instructions qu'ils pourront voir en insérant des commentaires spéciaux comme ceci (@pxref{xgettext Invocation,,, gettext, GNU Gettext}) :"
#. type: example
#: doc/guix.texi:23962
@@ -43134,6 +43303,9 @@ msgid ""
"(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
#: doc/guix.texi:23968
@@ -43144,69 +43316,69 @@ msgstr "python"
#. type: Plain text
#: doc/guix.texi:23974
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 ""
+msgstr "Nous incluons actuellement Python 2 et Python 3, sous les noms de variables Scheme @code{python-2} et @code{python} comme expliqué dans @ref{Version Numbers}. Pour éviter la confusion et les problèmes de noms avec d'autres langages de programmation, il semble désirable que le nom d'un paquet pour un module Python contienne le mot @code{python}."
#. type: Plain text
#: doc/guix.texi:23980
msgid "Some modules are compatible with only one version of Python, others with both. If the package Foo compiles only with Python 3, we name it @code{python-foo}; if it compiles only with Python 2, we name it @code{python2-foo}. If it is compatible with both versions, we create two packages with the corresponding names."
-msgstr ""
+msgstr "Certains modules ne sont compatibles qu'avec une version de Python, d'autres avec les deux. Si le paquet Foo ne compile qu'avec Ptyhon 3, on le nomme @code{python-foo} ; s'il ne compile qu'avec Python 2, on le nome @code{python2-foo}. S'il est compatible avec les deux versions, nous créons deux paquets avec les noms correspondant."
#. type: Plain text
#: doc/guix.texi:23986
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 ""
+msgstr "Si un projet contient déjà le mot @code{python}, on l'enlève, par exemple le module python-dateutil est packagé sous les noms @code{python-dateutil} et @code{python2-dateutil}. Si le nom du projet commence par @code{py} (p.@: ex.@: @code{pytz}), on le garde et on le préfixe comme décrit ci-dessus."
#. type: subsubsection
#: doc/guix.texi:23987
#, no-wrap
msgid "Specifying Dependencies"
-msgstr ""
+msgstr "Spécifier les dépendances"
#. type: cindex
#: doc/guix.texi:23988
#, no-wrap
msgid "inputs, for Python packages"
-msgstr ""
+msgstr "entrées, pour les paquets Python"
#. type: Plain text
#: doc/guix.texi:23993
msgid "Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}."
-msgstr ""
+msgstr "Les informations de dépendances pour les paquets Python se trouvent généralement dans l'arborescence des source du paquet, avec plus ou moins de précision : dans le fichier @file{setup.py}, dans @file{requirements.txt} ou dans @file{tox.ini}."
#. type: Plain text
#: doc/guix.texi:23999
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 ""
+msgstr "Votre mission, lorsque vous écrivez une recette pour un paquet Python, est de faire correspondre ces dépendances au bon type « d'entrée » (@pxref{package Reference, inputs}). Bien que l'importeur @code{pypi} fasse du bon boulot (@pxref{Invoking guix import}), vous devriez vérifier la liste suivant pour déterminer où va telle dépendance."
#. type: itemize
#: doc/guix.texi:24007
msgid "We currently package Python 2 with @code{setuptools} and @code{pip} installed like Python 3.4 has per default. Thus you don't need to specify either of these as an input. @command{guix lint} will warn you if you do."
-msgstr ""
+msgstr "Nous empaquetons Python 2 avec @code{setuptools} et @code{pip} installé comme Python 3.4 par défaut. Ainsi, vous n'avez pas à spécifié ces entrées. @command{guix lint} vous avertira si vous faîtes cela."
#. type: itemize
#: doc/guix.texi:24013
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 ""
+msgstr "Les dépendances Python requises à l'exécutions vont dans @code{propagated-inputs}. Elles sont typiquement définies dans le mot-clef @code{install_requires} dans @file{setup.py} ou dans le fichier @file{requirements.txt}."
#. type: itemize
#: doc/guix.texi:24021
msgid "Python packages required only at build time---e.g., those listed with the @code{setup_requires} keyword in @file{setup.py}---or only for testing---e.g., those in @code{tests_require}---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 ""
+msgstr "Les paquets Python requis uniquement à la construction — p.@: ex.@: ceux listés dans le mot-clef @code{setup_requires} de @file{setup.py} — ou seulement pour les tests — p.@: ex.@: ceux dans @code{tests_require} — vont dans @code{native-inputs}. La raison est qu'ils n'ont pas besoin d'être propagés car ils ne sont pas requis à l'exécution et dans le cas d'une compilation croisée, c'est l'entrée « native » qu'il nous faut."
#. type: itemize
#: doc/guix.texi:24025
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 ""
+msgstr "Les cadriciels de tests @code{pytest}, @code{mock} et @code{nose} sont des exemples. Bien sûr si l'un de ces paquets est aussi requis à l'exécution, il doit aller dans @code{propagated-inputs}."
#. type: itemize
#: doc/guix.texi:24030
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 ""
+msgstr "Tout ce qui ne tombe pas dans les catégories précédentes va dans @code{inputs}, par exemple des programmes pour des bibliothèques C requises pour construire des paquets Python avec des extensions C."
#. type: itemize
#: doc/guix.texi:24036
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 ""
+msgstr "Si un paquet Python a des dépendances facultatives (@code{extras_require}), c'est à vous de décider de les ajouter ou non, en fonction du ratio entre utilité et complexité (@pxref{Submitting Patches, @command{guix size}})."
#. type: cindex
#: doc/guix.texi:24043
@@ -43217,7 +43389,7 @@ msgstr "perl"
#. type: Plain text
#: doc/guix.texi:24054
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 ""
+msgstr "Les programmes Perl utiles en soit sont nommés comme les autres paquets, avec le nom amont en minuscule. Pour les paquets Perl contenant une seule classe, nous utilisons le nom de la classe en minuscule, en remplaçant les occurrences de @code{::} par des tirets et en préfixant le tout par @code{perl-}. Donc la classe @code{XML::Parser} devient @code{perl-xml-parser}. Les modules contenant plusieurs classes gardent leur nom amont en minuscule et sont aussi préfixés par @code{perl-}. Ces modules tendent à avoir le mot @code{perl} quelque part dans leur nom, que nous supprimons en faveur du préfixe. Par exemple, @code{libwww-perl} devient @code{perl-libwww}."
#. type: cindex
#: doc/guix.texi:24059
@@ -43228,85 +43400,85 @@ msgstr "java"
#. type: Plain text
#: doc/guix.texi:24062
msgid "Java programs standing for themselves are named as any other package, using the lowercase upstream name."
-msgstr ""
+msgstr "Le programmes Java utiles en soit sont nommés comme les autres paquets, avec le nom amont en minuscule."
#. type: Plain text
#: doc/guix.texi:24068
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 ""
+msgstr "Pour éviter les confusions et les problèmes de nom avec d'autres langages de programmation, il est désirable que le nom d'un paquet Java soit préfixé par @code{java-}. Si un projet contient déjà le mot @code{java}, nous le supprimons, par exemple le paquet @code{ngsjava} est empaqueté sous le nom @code{java-ngs}."
#. type: Plain text
#: doc/guix.texi:24074
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 ""
+msgstr "Pour les paquets java contenant une seul classe ou une petite hiérarchie de classes, nous utilisons le nom de la classe en minuscule, en remplaçant les occurrences de @code{.} par des tirets et en préfixant le tout par @code{java-}. Donc la classe @code{apache.commons.cli} devient @code{java-apache-commons-cli}."
#. type: Plain text
#: doc/guix.texi:24085
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 ""
+msgstr "Pour les polices qui n esont en général par installées par un utilisateurs pour du traitement de texte, ou qui sont distribuées en tant que partie d'un paquet logiciel plus gros, nous nous appuyons sur les règles générales pour les logiciels ; par exemple, cela s'applique aux polices livrées avec le système X.Org ou les polices qui font partie de TeX Live."
#. type: Plain text
#: doc/guix.texi:24089
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 ""
+msgstr "Pour rendre plus facile la recherche par l'utilisateur, les noms des autres paquets contenant seulement des polices sont construits ainsi, indépendamment du nom du paquet en amont."
#. type: Plain text
#: doc/guix.texi:24097
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 ""
+msgstr "Le nom d'un paquet contenant une unique famille de polices commence par @code{font-} ; il est suivi du nom du fondeur et d'un tiret @code{-} si le fondeur est connu, et du nom de la police, dont les espaces sont remplacés par des tirets (et comme d'habitude, toutes les lettres majuscules sont transformées en minuscules). Par exemple, la famille de polices Gentium de SIL est empaqueté sous le nom @code{font-sil-gentium}."
#. type: Plain text
#: doc/guix.texi:24106
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 ""
+msgstr "Pour un paquet contenant plusieurs familles de polices, le nom de la collection est utilisée à la place du nom de la famille. Par exemple les polices Liberation consistent en trois familles, Liberation Sans, Liberation Serif et Liberation Mono. Elles pourraient être empaquetées séparément sous les noms @code{font-liberation-sans} etc, mais comme elles sont distribuées ensemble sous un nom commun, nous préférons les empaqueter ensemble en tant que @code{font-liberation}."
#. type: Plain text
#: doc/guix.texi:24112
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 ""
+msgstr "Dans le cas où plusieurs formats de la même famille ou collection sont empaquetés séparément, une forme courte du format, préfixé d'un tiret est ajouté au nom du paquet. Nous utilisont @code{-ttf} pour les polices TrueType, @code{-otf} pour les polices OpenType et @code{-type1} pour les polices Type 1 de PostScript."
#. type: cindex
#: doc/guix.texi:24120
#, no-wrap
msgid "bootstrapping"
-msgstr ""
+msgstr "bootstrap"
#. type: Plain text
#: doc/guix.texi:24130
msgid "Bootstrapping in our context refers to how the distribution gets built ``from nothing''. Remember that the build environment of a derivation contains nothing but its declared inputs (@pxref{Introduction}). So there's an obvious chicken-and-egg problem: how does the first package get built? How does the first compiler get compiled? Note that this is a question of interest only to the curious hacker, not to the regular user, so you can shamelessly skip this section if you consider yourself a ``regular user''."
-msgstr ""
+msgstr "Dans notre contexte, le bootstrap se réfère à la manière dont la distribution est construite « à partir de rien ». Rappelez-vous que l'environnement de construction d'une dérivation ne contient rien d'autre que les entrées déclarées (@pxref{Introduction}). Donc il y a un problème évident de poule et d'œuf : comment le premier paquet est-il construit ? Comment le premier compilateur est-il construit ? Remarquez que c'est une question qui intéressera uniquement le hacker curieux, pas l'utilisateur normal, donc vous pouvez sauter cette section sans avoir honte si vous vous considérez comme un « utilisateur normal »."
#. type: cindex
#: doc/guix.texi:24131 doc/guix.texi:24253
#, no-wrap
msgid "bootstrap binaries"
-msgstr ""
+msgstr "binaires de bootstrap"
#. type: Plain text
#: doc/guix.texi:24141
msgid "The GNU system is primarily made of C code, with libc at its core. The GNU build system itself assumes the availability of a Bourne shell and command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and `grep'. Furthermore, build programs---programs that run @code{./configure}, @code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}). Consequently, to be able to build anything at all, from scratch, Guix relies on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages mentioned above---the @dfn{bootstrap binaries}."
-msgstr ""
+msgstr "Le système GNU est surtout fait de code C, avec la libc en son cœur. Le système de construction GNU lui-même suppose la disponibilité d'un shell Bourne et d'outils en ligne de commande fournis par GNU Coreutils, Awk, Findutils, sed et grep. En plus, les programmes de construction — les programmes qui exécutent @code{./configure}, @code{make} etc — sont écrits en Guile Scheme (@pxref{Derivations}). En conséquence, pour pouvoir construire quoi que ce soit, de zéro, Guix a besoin de binaire pré-construits de Guile, GCC, Binutils, la libc et des autres paquets mentionnés plus haut — les @dfn{binaires de bootstrap}."
#. type: Plain text
#: doc/guix.texi:24144
msgid "These bootstrap binaries are ``taken for granted'', though we can also re-create them if needed (more on that later)."
-msgstr ""
+msgstr "Ces binaires de bootstrap sont pris comme des acquis, bien qu'on puisse les recréer (ça arrive plus tard)."
#. type: unnumberedsubsec
#: doc/guix.texi:24145
#, no-wrap
msgid "Preparing to Use the Bootstrap Binaries"
-msgstr ""
+msgstr "Se préparer à utiliser les binaires de bootstrap"
#. type: Plain text
#: doc/guix.texi:24150
msgid "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap derivations}"
-msgstr ""
+msgstr "@image{images/bootstrap-graph,6in,,Graphe de dépendance des premières dérivations de bootstrap}"
#. type: Plain text
#: doc/guix.texi:24155
msgid "The figure above shows the very beginning of the dependency graph of the distribution, corresponding to the package definitions of the @code{(gnu packages bootstrap)} module. A similar figure can be generated with @command{guix graph} (@pxref{Invoking guix graph}), along the lines of:"
-msgstr ""
+msgstr "La figure ci-dessus montre le tout début du graphe de dépendances de la distribution, correspondant aux définitions des paquets du module @code{(gnu packages bootstrap)}. Une figure similaire peut être générée avec @command{guix graph} (@pxref{Invoking guix graph}), de cette manière :"
#. type: example
#: doc/guix.texi:24160
@@ -43323,38 +43495,38 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:24169
msgid "At this level of detail, things are slightly complex. First, Guile itself consists of an ELF executable, along with many source and compiled Scheme files that are dynamically loaded when it runs. This gets stored in the @file{guile-2.0.7.tar.xz} tarball shown in this graph. This tarball is part of Guix's ``source'' distribution, and gets inserted into the store with @code{add-to-store} (@pxref{The Store})."
-msgstr ""
+msgstr "À ce niveau de détails, les choses sont légèrement complexes. Tout d'abord, Guile lui-même consiste en an exécutable ELF, avec plusieurs fichiers Scheme sources et compilés qui sont chargés dynamiquement quand il est exécuté. Cela est stocké dans l'archive @file{guile-2.0.7.tar.xz} montrée dans ce graphe. Cette archive fait parti de la distribution « source » de Guix, et est insérée dans le dépôt avec @code{add-to-store} (@pxref{The Store})."
#. type: Plain text
#: doc/guix.texi:24178
msgid "But how do we write a derivation that unpacks this tarball and adds it to the store? To solve this problem, the @code{guile-bootstrap-2.0.drv} derivation---the first one that gets built---uses @code{bash} as its builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls @code{tar} to unpack the tarball. Thus, @file{bash}, @file{tar}, @file{xz}, and @file{mkdir} are statically-linked binaries, also part of the Guix source distribution, whose sole purpose is to allow the Guile tarball to be unpacked."
-msgstr ""
+msgstr "Mais comment écrire une dérivation qui décompresse cette archive et l'ajoute au dépôt ? Pour résoudre ce problème, la dérivation @code{guile-bootstrap-2.0.drv} — la première qui est construite — utilise @code{bash} comme constructeur, qui lance @code{build-bootstrap-guile.sh}, qui à son tour appelle @code{tar} pour décompresser l'archive. Ainsi, @file{bash}, @file{tar}, @file{xz} et @file{mkdir} sont des binaires liés statiquement, qui font aussi partie de la distribution source de Guix, dont le seul but est de permettre à l'archive de Guile d'être décompressée."
#. type: Plain text
#: doc/guix.texi:24190
msgid "Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile that can be used to run subsequent build programs. Its first task is to download tarballs containing the other pre-built binaries---this is what the @code{.tar.xz.drv} derivations do. Guix modules such as @code{ftp-client.scm} are used for this purpose. The @code{module-import.drv} derivations import those modules in a directory in the store, using the original layout. The @code{module-import-compiled.drv} derivations compile those modules, and write them in an output directory with the right layout. This corresponds to the @code{#:modules} argument of @code{build-expression->derivation} (@pxref{Derivations})."
-msgstr ""
+msgstr "Une fois que @code{guile-bootstrap-2.0.drv} est construit, nous avons un Guile fonctionnel qui peut être utilisé pour exécuter les programmes de construction suivants. Sa première tâche consiste à télécharger les archives contenant les autres binaires pré-construits — c'est ce que la dérivation @code{.tar.xz.drv} fait. Les modules Guix comme @code{ftp-client.scm} sont utilisés pour cela. Les dérivations @code{module-import.drv} importent ces modules dans un répertoire dans le dépôt, en utilisant la disposition d'origine. Les dérivations @code{module-import-compiled.drv} compilent ces modules, et les écrivent dans un répertoire de sortie avec le bon agencement. Cela correspond à l'argument @code{#:modules} de @code{build-expression->derivation} (@pxref{Derivations})."
#. type: Plain text
#: doc/guix.texi:24194
msgid "Finally, the various tarballs are unpacked by the derivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at which point we have a working C tool chain."
-msgstr ""
+msgstr "Enfin, les diverses archives sont décompressées par les dérivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc, à partir de quoi nous avons une chaîne de compilation C fonctionnelle."
#. type: unnumberedsubsec
#: doc/guix.texi:24196
#, no-wrap
msgid "Building the Build Tools"
-msgstr ""
+msgstr "Construire les outils de construction"
#. type: Plain text
#: doc/guix.texi:24205
msgid "Bootstrapping is complete when we have a full tool chain that does not depend on the pre-built bootstrap tools discussed above. This no-dependency requirement is verified by checking whether the files of the final tool chain contain references to the @file{/gnu/store} directories of the bootstrap inputs. The process that leads to this ``final'' tool chain is described by the package definitions found in the @code{(gnu packages commencement)} module."
-msgstr ""
+msgstr "Le bootstrap est complet lorsque nous avons une chaîne d'outils complète qui ne dépend pas des outils de bootstrap pré-construits dont on vient de parler. Ce pré-requis d'indépendance est vérifié en s'assurant que les fichiers de la chaîne d'outil finale ne contiennent pas de référence vers les répertoires @file{/gnu/store} des entrées de bootstrap. Le processus qui mène à cette chaîne d'outils « finale » est décrit par les définitions de paquets qui se trouvent dans le module @code{(gnu packages commencement)}."
#. type: Plain text
#: doc/guix.texi:24212
msgid "The @command{guix graph} command allows us to ``zoom out'' compared to the graph above, by looking at the level of package objects instead of individual derivations---remember that a package may translate to several derivations, typically one derivation to download its source, one to build the Guile modules it needs, and one to actually build the package from source. The command:"
-msgstr ""
+msgstr "La commande @command{guix graph} nous permet de « dézoomer » comparé au graphe précédent, en regardant au niveau des objets de paquets plutôt que des dérivations individuelles — rappelez-vous qu'un paquet peut se traduire en plusieurs dérivations, typiquement une dérivation pour télécharger ses sources, une pour les modules Guile dont il a besoin et une pour effectivement compiler le paquet depuis les sources. La commande :"
#. type: example
#: doc/guix.texi:24217
@@ -43371,7 +43543,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:24224
msgid "produces the dependency graph leading to the ``final'' C library@footnote{You may notice the @code{glibc-intermediate} label, suggesting that it is not @emph{quite} final, but as a good approximation, we will consider it final.}, depicted below."
-msgstr ""
+msgstr "produit le graphe de dépendances qui mène à la bibliothèque C « finale »@footnote{Vous remarquerez qu'elle s'appelle @code{glibc-intermediate}, ce qui suggère qu'elle n'est pas @emph{tout à fait} finale, mais c'est une bonne approximation tout de même.}, que voici :"
#. type: Plain text
#: doc/guix.texi:24226
@@ -43381,38 +43553,38 @@ msgstr "@image{images/bootstrap-packages,6in,,Graphe de dépendance des premiers
#. type: Plain text
#: doc/guix.texi:24232
msgid "The first tool that gets built with the bootstrap binaries is GNU@tie{}Make---noted @code{make-boot0} above---which is a prerequisite for all the following packages. From there Findutils and Diffutils get built."
-msgstr ""
+msgstr "Le premier outil construit avec les binaires de bootstrap est GNU@tie{}Make — appelé @code{make-boot0} ci-dessus — qui est un prérequis de tous les paquets suivants . Ensuite, Findutils et Diffutils sont construits."
#. type: Plain text
#: doc/guix.texi:24237
msgid "Then come the first-stage Binutils and GCC, built as pseudo cross tools---i.e., with @code{--target} equal to @code{--host}. They are used to build libc. Thanks to this cross-build trick, this libc is guaranteed not to hold any reference to the initial tool chain."
-msgstr ""
+msgstr "Ensuite vient la première passe de Binutils et GCC, construits comme des pseudo outils croisés — c.-à-d.@: dont @code{--target} égal à @code{--host}. Ils sont utilisés pour construire la libc. Grâce à cette astuce de compilation croisée, la libc est garantie de ne contenir aucune référence à la chaîne d'outils initiale."
#. type: Plain text
#: doc/guix.texi:24243
msgid "From there the final Binutils and GCC (not shown above) are built. GCC uses @code{ld} from the final Binutils, and links programs against the just-built libc. This tool chain is used to build the other packages used by Guix and by the GNU Build System: Guile, Bash, Coreutils, etc."
-msgstr ""
+msgstr "À partir de là, les Bintulis et GCC finaux (pas visibles ci-dessus) sont construits. GCC utilise @code{ld} du Binutils final et lie les programme avec la libc qui vient d'être construite. Cette chaîne d'outils est utilisée pour construire les autres paquets utilisés par Guix et par le système de construction de GNU : Guile, Bash, Coreutils, etc."
#. type: Plain text
#: doc/guix.texi:24249
msgid "And voilà! At this point we have the complete set of build tools that the GNU Build System expects. These are in the @code{%final-inputs} variable of the @code{(gnu packages commencement)} module, and are implicitly used by any package that uses @code{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})."
-msgstr ""
+msgstr "Et voilà ! À partir de là nous avons l'ensemble complet des outils auxquels s'attend le système de construction GNU. Ils sont dans la variable @code{%final-inputs} du module @code{(gnu packages commencement)} et sont implicitement utilisés par tous les paquets qui utilisent le @code{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})."
#. type: unnumberedsubsec
#: doc/guix.texi:24251
#, no-wrap
msgid "Building the Bootstrap Binaries"
-msgstr ""
+msgstr "Construire les binaires de bootstrap"
#. type: Plain text
#: doc/guix.texi:24258
msgid "Because the final tool chain does not depend on the bootstrap binaries, those rarely need to be updated. Nevertheless, it is useful to have an automated way to produce them, should an update occur, and this is what the @code{(gnu packages make-bootstrap)} module provides."
-msgstr ""
+msgstr "Comme la chaîne d'outils finale ne dépend pas des binaires de bootstrap, ils ont rarement besoin d'être mis à jour. Cependant, il est utile d'avoir une manière de faire cela automatiquement, dans le cas d'une mise à jour et c'est ce que le module @code{(gnu packages make-bootstrap)} fournit."
#. type: Plain text
#: doc/guix.texi:24262
msgid "The following command builds the tarballs containing the bootstrap binaries (Guile, Binutils, GCC, libc, and a tarball containing a mixture of Coreutils and other basic command-line tools):"
-msgstr ""
+msgstr "La commande suivante construit les archives contenant les binaires de bootstrap (Guile, Binutils, GCC, la libc et une archive contenant un mélange de Coreutils et d'autres outils en ligne de commande de base) :"
#. type: example
#: doc/guix.texi:24265
@@ -43423,33 +43595,33 @@ msgstr "guix build bootstrap-tarballs\n"
#. type: Plain text
#: doc/guix.texi:24270
msgid "The generated tarballs are those that should be referred to in the @code{(gnu packages bootstrap)} module mentioned at the beginning of this section."
-msgstr ""
+msgstr "Les archives générées sont celles qui devraient être référencées dans le module @code{(gnu packages bootstrap)} au début de cette section."
#. type: Plain text
#: doc/guix.texi:24276
msgid "Still here? Then perhaps by now you've started to wonder: when do we reach a fixed point? That is an interesting question! The answer is unknown, but if you would like to investigate further (and have significant computational and storage resources to do so), then let us know."
-msgstr ""
+msgstr "Vous êtes toujours là ? Alors peut-être que maintenant vous vous demandez, quand est-ce qu'on atteint un point fixe ? C'est une question intéressante ! La réponse est inconnue, mais si vous voulez enquêter plus profondément (et que vous avez les ressources en puissance de calcul et en capacité de stockage pour cela), dites-le nous."
#. type: unnumberedsubsec
#: doc/guix.texi:24277
#, no-wrap
msgid "Reducing the Set of Bootstrap Binaries"
-msgstr ""
+msgstr "Réduire l'ensemble des binaires de bootstrap"
#. type: Plain text
#: doc/guix.texi:24285
msgid "Our bootstrap binaries currently include GCC, Guile, etc. That's a lot of binary code! Why is that a problem? It's a problem because these big chunks of binary code are practically non-auditable, which makes it hard to establish what source code produced them. Every unauditable binary also leaves us vulnerable to compiler backdoors as described by Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}."
-msgstr ""
+msgstr "Nous binaires de bootstrap incluent actuellement GCC, Guile, etc. C'est beaucoup de code binaire ! Pourquoi est-ce un problème ? C'est un problème parce que ces gros morceaux de code binaire sont en pratique impossibles à auditer, ce qui fait qu'il est difficile d'établir quel code source les a produit. Chaque binaire non auditable nous rend aussi vulnérable à des portes dérobées dans les compilateurs comme le décrit Ken Thompson dans le papier de 1984 @emph{Reflections on Trusting Trust}."
#. type: Plain text
#: doc/guix.texi:24291
msgid "This is mitigated by the fact that our bootstrap binaries were generated from an earlier Guix revision. Nevertheless it lacks the level of transparency that we get in the rest of the package dependency graph, where Guix always gives us a source-to-binary mapping. Thus, our goal is to reduce the set of bootstrap binaries to the bare minimum."
-msgstr ""
+msgstr "Cela est rendu moins inquiétant par le fait que les binaires de bootstrap ont été générés par une révision antérieure de Guix. Cependant, il leur manque le niveau de transparence que l'on obtient avec le reste des paquets du graphe de dépendance, où Guix nous donne toujours une correspondance source-binaire. Ainsi, notre but est de réduire l'ensemble des binaires de bootstrap au minimum."
#. type: Plain text
#: doc/guix.texi:24297
msgid "The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists on-going projects to do that. One of these is about replacing the bootstrap GCC with a sequence of assemblers, interpreters, and compilers of increasing complexity, which could be built from source starting from a simple and auditable assembler. Your help is welcome!"
-msgstr ""
+msgstr "Le @uref{http://bootstrappable.org, site web Bootstrappable.org} liste les projets en cours à ce sujet. L'un d'entre eux parle de remplacer le GCC de bootstrap par une série d'assembleurs, d'interpréteurs et de compilateurs d'une complexité croissante, qui pourraient être construits à partir des sources à partir d'un assembleur simple et auditable. Votre aide est la bienvenue !"
#. type: section
#: doc/guix.texi:24300
@@ -43460,12 +43632,12 @@ msgstr "Porter vers une nouvelle plateforme"
#. type: Plain text
#: doc/guix.texi:24309
msgid "As discussed above, the GNU distribution is self-contained, and self-containment is achieved by relying on pre-built ``bootstrap binaries'' (@pxref{Bootstrapping}). These binaries are specific to an operating system kernel, CPU architecture, and application binary interface (ABI). Thus, to port the distribution to a platform that is not yet supported, one must build those bootstrap binaries, and update the @code{(gnu packages bootstrap)} module to use them on that platform."
-msgstr ""
+msgstr "Comme nous en avons discuté plus haut, la distribution GNU est auto-contenue, et cela est possible en se basant sur des « binaires de bootstrap » pré-construits (@pxref{Bootstrapping}). Ces binaires sont spécifiques au noyau de système d'exploitation, à l'architecture CPU et à l'interface applicative binaire (ABI). Ainsi, pour porter la distribution sur une plateforme qui n'est pas encore supportée, on doit construire ces binaires de bootstrap et mettre à jour le module @code{(gnu packages bootstrap)} pour les utiliser sur cette plateforme."
#. type: Plain text
#: doc/guix.texi:24314
msgid "Fortunately, Guix can @emph{cross compile} those bootstrap binaries. When everything goes well, and assuming the GNU tool chain supports the target platform, this can be as simple as running a command like this one:"
-msgstr ""
+msgstr "Heureusement, Guix peut effectuer une @emph{compilation croisée} de ces binaires de bootstrap. Lorsque tout va bien, et en supposant que la chaîne d'outils GNU supporte la plateforme cible, cela peut être aussi simple que de lancer une commande comme ceci :"
#. type: example
#: doc/guix.texi:24317
@@ -43476,17 +43648,17 @@ msgstr "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n"
#. type: Plain text
#: doc/guix.texi:24324
msgid "For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu packages bootstrap)} must be augmented to return the right file name for libc's dynamic linker on that platform; likewise, @code{system->linux-architecture} in @code{(gnu packages linux)} must be taught about the new platform."
-msgstr ""
+msgstr "Pour que cela fonctione, la procédure @code{glibc-dynamic-linker} dans @code{(gnu packages bootstrap)} doit être augmentée pour renvoyer le bon nom de fichier pour l'éditeur de lien dynamique de la libc sur cette plateforme ; de même, il faut indiquer cette nouvelle platefore à @code{system->linux-architecture} dans @code{(gnu packages linux)}."
#. type: Plain text
#: doc/guix.texi:24333
msgid "Once these are built, the @code{(gnu packages bootstrap)} module needs to be updated to refer to these binaries on the target platform. That is, the hashes and URLs of the bootstrap tarballs for the new platform must be added alongside those of the currently supported platforms. The bootstrap Guile tarball is treated specially: it is expected to be available locally, and @file{gnu/local.mk} has rules to download it for the supported architectures; a rule for the new platform must be added as well."
-msgstr ""
+msgstr "Une fois qu'ils sont construits, le module @code{(gnu packages bootstrap)} doit être mis à jour pour se référer à ces binaires sur la plateforme cible. C'est à dire que les hashs et les URL des archives de bootstrap pour la nouvelle plateforme doivent être ajoutés avec ceux des plateformes actuellement supportées. L'archive de bootstrap de Guile est traitée séparément : elle doit être disponible localement, et @file{gnu/local.mk} a une règle pour la télécharger pour les architectures supportées ; vous devez également ajouter une règle pour la nouvelle plateforme."
#. type: Plain text
#: doc/guix.texi:24342
msgid "In practice, there may be some complications. First, it may be that the extended GNU triplet that specifies an ABI (like the @code{eabi} suffix above) is not recognized by all the GNU tools. Typically, glibc recognizes some of these, whereas GCC uses an extra @code{--with-abi} configure flag (see @code{gcc.scm} for examples of how to handle this). Second, some of the required packages could fail to build for that platform. Lastly, the generated binaries could be broken for some reason."
-msgstr ""
+msgstr "En pratique, il peut y avoir des complications. Déjà, il se peut que le triplet GNU étendu qui spécifie l'ABI (comme le suffixe @code{eabi} ci-dessus) ne soit pas reconnu par tous les outils GNU. Typiquement, la glibc en reconnais certains, alors que GCC utilise un drapeau de configure @code{--with-abi} supplémentaire (voir @code{gcc.scm} pour trouver des exemples où ce cas est géré). Ensuite, certains des paquets requis pourraient échouer à se construire pour cette plateforme. Enfin, les binaires générés pourraient être cassé pour une raison ou une autre."
#. type: include
#: doc/guix.texi:24344
@@ -43497,7 +43669,7 @@ msgstr "contributing.fr.texi"
#. type: Plain text
#: doc/guix.texi:24357
msgid "Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, which was designed and implemented by Eelco Dolstra, with contributions from other people (see the @file{nix/AUTHORS} file in Guix.) Nix pioneered functional package management, and promoted unprecedented features, such as transactional package upgrades and rollbacks, per-user profiles, and referentially transparent build processes. Without this work, Guix would not exist."
-msgstr "Guix se base sur le @uref{http://nixos.org/nix/, gestionnaire de paquets Nix} conçu et implémenté par Eelco Dolstra, avec des constributions d'autres personnes (voir le fichier @file{nix/AUTHORS} dans Guix). Nix a inventé la gestion de paquet fonctionnelle et promu des fonctionnalités sans précédents comme les mises à jour de paquets transactionnelles et les retours en arrière, les profils par utilisateurs et les processus de constructions transparents pour les références. Sans ce travail, Guix n'existerait pas."
+msgstr "Guix se base sur le @uref{http://nixos.org/nix/, gestionnaire de paquets Nix} conçu et implémenté par Eelco Dolstra, avec des contributions d'autres personnes (voir le fichier @file{nix/AUTHORS} dans Guix). Nix a inventé la gestion de paquet fonctionnelle et promu des fonctionnalités sans précédents comme les mises à jour de paquets transactionnelles et les retours en arrière, les profils par utilisateurs et les processus de constructions transparents pour les références. Sans ce travail, Guix n'existerait pas."
#. type: Plain text
#: doc/guix.texi:24360
@@ -43583,7 +43755,7 @@ msgstr "fdl-1.3.texi"
#~ msgstr "Renvoie un service qui lance le démon de réseau anonyme @uref{https://torproject.org, Tor}."
#~ msgid "The daemon runs as the @code{tor} unprivileged user. It is passed @var{config-file}, a file-like object, with an additional @code{User tor} line and lines for hidden services added via @code{tor-hidden-service}. Run @command{man tor} for information about the configuration file."
-#~ msgstr "Le démon est lancé avec l'identité de l'utilisateur non privilégié @code{tor}. Il lit @var{config-file}, un objet simili-fichier, avec une ligne @code{User tor} supplémentaire et des lignes pour les services cachés ajoutées par des @code{tor-hidden-service}. Lncez @command{man tor} pour obtenir des informations sur le fichier de configuration."
+#~ msgstr "Le démon est lancé avec l'identité de l'utilisateur non privilégié @code{tor}. Il lit @var{config-file}, un objet simili-fichier, avec une ligne @code{User tor} supplémentaire et des lignes pour les services cachés ajoutées par des @code{tor-hidden-service}. Lancez @command{man tor} pour obtenir des informations sur le fichier de configuration."
#~ msgid "The @code{(gnu services sound)} module provides an @code{alsa-service-type} service to generate an ALSA @file{/etc/asound.conf} configuration file. This configuration file is what allows applications that produce sound using ALSA to be correctly handled."
#~ msgstr "Le module @code{(gnu services sound)} fournit un service @code{alsa-service-type} pour générer un fichier de configuration @file{/etc/asound.conf}. Ce fichier de configuration est ce qui permet aux applications de produire du son avec ALSA d'être correctement gérées."
diff --git a/tests/guix-environment.sh b/tests/guix-environment.sh
index ccbe027c7b..7ea9c200de 100644
--- a/tests/guix-environment.sh
+++ b/tests/guix-environment.sh
@@ -49,13 +49,13 @@ test -x `sed -r 's/^export PATH="(.*)"/\1/' "$tmpdir/a"`/guile
cmp "$tmpdir/a" "$tmpdir/b"
-# Check '--inherit'.
+# Check '--preserve'.
GUIX_TEST_ABC=1
GUIX_TEST_DEF=2
GUIX_TEST_XYZ=3
export GUIX_TEST_ABC GUIX_TEST_DEF GUIX_TEST_XYZ
guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
- --inherit='^GUIX_TEST_A' --inherit='^GUIX_TEST_D' \
+ --preserve='^GUIX_TEST_A' --preserve='^GUIX_TEST_D' \
-- "$SHELL" -c set > "$tmpdir/a"
grep '^PATH=' "$tmpdir/a"
grep '^GUIX_TEST_ABC=' "$tmpdir/a"
@@ -117,16 +117,6 @@ case "`uname -m`" in
;;
esac
-
-# Same as above, but with deprecated -E flag.
-if guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
- -E "guile -c '(exit 42)'"
-then
- false
-else
- test $? = 42
-fi
-
# Make sure we can build the environment of 'guix'. There may be collisions
# in its profile (e.g., for 'gzip'), but we have to accept them.
guix environment guix --bootstrap -n