Nächste: guix lint
aufrufen, Vorige: guix refresh
aufrufen, Nach oben: Zubehör [Inhalt][Index]
guix style
aufrufenMit dem Befehl guix style
können sowohl Nutzer als auch
Paketentwickler ihre Paketdefinitionen und Konfigurationsdateien
entsprechend der aktuell modischen Trends umgestalten. Sie können entweder
ganze Dateien mit der Befehlszeilenoption --whole-file
umformatieren oder die gewählten Stilregeln auf einzelne
Paketdefinitionen anwenden. Im Moment werden Regeln für die folgenden
Stilfragen angeboten:
Zurzeit läuft eine Umstellung der Notation, wie Paketeingaben aufgeschrieben
werden (siehe package
-Referenz, für weitere Informationen zu
Paketeingaben). Bis Version 1.3.0 wurden Paketeingaben im „alten Stil“
verfasst, d.h. man schrieb zu jeder Eingabe ausdrücklich eine Bezeichnung
dazu, in der Regel der Paketname:
(package
;; …
;; Der „alte Stil“ (veraltet).
(inputs `(("libunistring" ,libunistring)
("libffi" ,libffi))))
Der alte Stil gilt heute als veraltet. Der bevorzugte Stil sieht so aus:
Ebenso gilt als veraltet, Eingaben mit alist-delete
und seinen
Freunden zu verarbeiten; bevorzugt wird modify-inputs
(siehe
Paketvarianten definieren für weitere Informationen zu
modify-inputs
).
In den allermeisten Fällen ist das eine rein mechanische Änderung der
oberflächlichen Syntax und die Pakete müssen dazu nicht einmal neu erstellt
werden. Diese kann guix style -S inputs
für Sie übernehmen, egal
ob Sie an Paketen innerhalb des eigentlichen Guix oder in einem externen
Kanal arbeiten.
Die allgemeine Syntax lautet:
guix style [Optionen] Paket…
Damit wird sich guix style
der Analyse und Umschreibung der
Definition von Paket… annehmen. Wenn Sie kein Paket angeben,
nimmt es sich alle Pakete vor. Mit der Befehlszeilenoption
--styling oder -S können Sie auswählen, nach welcher
Stilregel guix style
vorgeht. Vorgegeben ist die
format
-Regel, siehe unten.
Um ganze Quelldateien auf einmal umzuformatieren, lautet die Syntax:
guix style --whole-file Datei…
Die verfügbaren Befehlszeilenoptionen folgen.
--dry-run
-n
Anzeigen, welche Stellen im Quellcode verändert würden, sie jedoch nicht verändern.
--whole-file
-f
Ganze Quelldateien auf einmal umformatieren. In diesem Fall werden weitere Argumente als Dateinamen aufgefasst (und eben nicht als Paketnamen) und die Befehlszeilenoption --styling ist ohne Wirkung.
Zum Beispiel können Sie so die Datei mit Ihrer Betriebssystemkonfiguration umformatieren (vorausgesetzt Sie haben die Schreibberechtigung auf der Datei):
guix style -f /etc/config.scm
--styling=Regel
-S Regel
Die Regel anwenden, die eine der folgenden Stilregeln sein muss:
format
Die angegebene Paketdefinition bzw. mehrere Paketdefinitionen formatieren. Das ist die voreingestellte Stilregel. Wenn zum Beispiel eine Paketautorin, die Guix aus einem Checkout heraus ausführt (siehe Guix vor der Installation ausführen), die Definition des Coreutils-Pakets formatieren wollte, würde sie das machen:
./pre-inst-env guix style coreutils
inputs
Paketeingaben in den oben beschriebenen „neuen Stil“ umschreiben. Hiermit
würden Sie die Eingaben des Pakets oderso
in Ihrem eigenen Kanal
umschreiben:
guix style -L ~/eigener/kanal -S inputs oderso
Die Umschreibung geschieht auf konservative Art: Kommentare bleiben erhalten
und wenn es den Code in einem inputs
-Feld nicht erfassen kann,
gibt guix style
auf. Die Befehlszeilenoption
--input-simplification ermöglicht, genau zu bestimmen, unter
welchen Voraussetzungen Eingaben vereinfacht werden sollen.
--list-stylings
-l
Alle verfügbaren Stilregeln auflisten und beschreiben und sonst nichts.
--load-path=Verzeichnis
-L Verzeichnis
Das Verzeichnis vorne an den Suchpfad für Paketmodule anfügen (siehe Paketmodule).
--expression=Ausdruck
-e Ausdruck
Das Paket umgestalten, zu dem der Ausdruck ausgewertet wird.
Zum Beispiel startet dies:
guix style -e '(@ (gnu packages gcc) gcc-5)'
ändert den Stil der Paketdefinition für gcc-5
.
--input-simplification=Richtlinie
Wenn Sie die Stilregel inputs
verwenden, als ‘-S inputs’, geben
Sie hiermit die Richtlinie zur Vereinfachung der Paketeingaben für die Fälle
an, wenn eine Eingabenbezeichnung nicht zum damit assoziierten Paketnamen
passt. Die Richtlinie kann eine der folgenden sein:
silent
Die Eingaben nur vereinfachen, wenn die Änderung unmerklich sind, in dem Sinne, dass das Paket nicht aufs Neue erstellt werden muss (seine Ableitung also dieselbe bleibt).
safe
Die Eingaben nur vereinfachen, wenn dies keine Probleme mit sich bringt. Hier darf das Paket neu erstellt werden müssen, aber die Änderung daran hat keine beobachtbaren Auswirkungen.
always
Die Eingaben selbst dann vereinfachen, wenn die Eingabebezeichnungen nicht zu den Paketnamen passen, obwohl das Auswirkungen haben könnte.
Die Vorgabe ist silent
, also nur unmerkliche Vereinfachungen, die
keine Neuerstellung auslösen.
Nächste: guix lint
aufrufen, Vorige: guix refresh
aufrufen, Nach oben: Zubehör [Inhalt][Index]