aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/avr.scm
blob: c113707283f0627db1da5110864d50f134c9031d (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.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 avr)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix utils)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix packages)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system trivial)
  #:use-module (gnu packages)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages cross-base)
  #:use-module (gnu packages flashing-tools)
  #:use-module (gnu packages gcc)
  #:use-module (gnu packages vim))

(define-public avr-binutils
  (package
    (inherit (cross-binutils "avr"))
    (name "avr-binutils")))

(define avr-gcc
  (let ((xgcc (cross-gcc "avr" #:xgcc gcc #:xbinutils avr-binutils)))
    (package
      (inherit xgcc)
      (name "avr-gcc")
      (arguments
       (substitute-keyword-arguments (package-arguments xgcc)
         ((#:phases phases)
          `(modify-phases ,phases
             (add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH
               (lambda* (#:key inputs #:allow-other-keys)
                 (let ((gcc (assoc-ref inputs  "gcc")))
                   ;; Remove the default compiler from CPLUS_INCLUDE_PATH to
                   ;; prevent header conflict with the GCC from native-inputs.
                   (setenv "CPLUS_INCLUDE_PATH"
                           (string-join
                            (delete (string-append gcc "/include/c++")
                                    (string-split (getenv "CPLUS_INCLUDE_PATH")
                                                  #\:))
                            ":"))
                   (format #t
                           "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
                           (getenv "CPLUS_INCLUDE_PATH"))
                   #t)))
             ;; Without a working multilib build, the resulting GCC lacks
             ;; support for nearly every AVR chip.
             (add-after 'unpack 'fix-genmultilib
               (lambda _
                 ;; patch-shebang doesn't work here because there are actually
                 ;; several scripts inside this script, each with a #!/bin/sh
                 ;; that needs patching.
                 (substitute* "gcc/genmultilib"
                   (("#!/bin/sh") (string-append "#!" (which "sh"))))
                 #t))))
         ((#:configure-flags flags)
          `(delete "--disable-multilib" ,flags))))
      (native-search-paths
       (list (search-path-specification
              (variable "CROSS_C_INCLUDE_PATH")
              (files '("avr/include")))
             (search-path-specification
              (variable "CROSS_CPLUS_INCLUDE_PATH")
              (files '("avr/include")))
             (search-path-specification
              (variable "CROSS_OBJC_INCLUDE_PATH")
              (files '("avr/include")))
             (search-path-specification
              (variable "CROSS_OBJCPLUS_INCLUDE_PATH")
              (files '("avr/include")))
             (search-path-specification
              (variable "CROSS_LIBRARY_PATH")
              (files '("avr/lib")))))
      (native-inputs
       `(("gcc" ,gcc)
         ,@(package-native-inputs xgcc))))))

(define avr-libc
  (package
    (name "avr-libc")
    (version "2.0.0")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://savannah//avr-libc/avr-libc-"
                                  version ".tar.bz2"))
              (sha256
               (base32
                "15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
    (build-system gnu-build-system)
    (arguments
     '(#:out-of-source? #t
       #:configure-flags '("--host=avr")))
    (native-inputs `(("avr-binutils" ,avr-binutils)
                     ("avr-gcc" ,avr-gcc)))
    (home-page "https://www.nongnu.org/avr-libc/")
    (synopsis "The AVR C Library")
    (description
     "AVR Libc is a project whose goal is to provide a high quality C library
for use with GCC on Atmel AVR microcontrollers.")
    (license
     (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))

(define-public avr-toolchain
  ;; avr-libc checks the compiler version and passes "--enable-device-lib" for avr-gcc > 5.1.0.
  ;; It wouldn't install the library for atmega32u4 etc if we didn't use the corret avr-gcc.
  (package
    (name "avr-toolchain")
    (version (package-version avr-gcc))
    (source #f)
    (build-system trivial-build-system)
    (arguments '(#:builder (begin (mkdir %output) #t)))
    (propagated-inputs
     `(("avrdude" ,avrdude)
       ("binutils" ,avr-binutils)
       ("gcc" ,avr-gcc)
       ("libc" ,avr-libc)))
    (synopsis "Complete GCC tool chain for AVR microcontroller development")
    (description "This package provides a complete GCC tool chain for AVR
microcontroller development.  This includes the GCC AVR cross compiler and
avrdude for firmware flashing.  The supported programming languages are C and
C++.")
    (home-page (package-home-page avr-libc))
    (license (package-license avr-gcc))))

(define-public microscheme
  (package
    (name "microscheme")
    (version "0.9.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/ryansuchocki/microscheme")
             (commit (string-append "v" version))))
       (sha256
        (base32 "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976"))
       (file-name (git-file-name name version))))
    (build-system gnu-build-system)
    (arguments
     `(#:parallel-build? #f             ; fails to build otherwise
       #:tests? #f                      ; no tests
       #:phases
       (modify-phases %standard-phases
         (delete 'configure))
       #:make-flags
       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
    (native-inputs
     `(("unzip" ,unzip)
       ("xxd" ,xxd)))
    (home-page "https://github.com/ryansuchocki/microscheme/")
    (synopsis "Scheme subset for Atmel microcontrollers")
    (description
     "Microscheme, or @code{(ms)} for short, is a functional programming
language for the Arduino, and for Atmel 8-bit AVR microcontrollers in general.
Microscheme is a subset of Scheme, in the sense that every valid @code{(ms)}
program is also a valid Scheme program (with the exception of Arduino
hardware-specific primitives).  The @code{(ms)} compiler performs function
inlining, and features an aggressive tree-shaker, eliminating unused top-level
definitions.  Microscheme has a robust @dfn{Foreign Function Interface} (FFI)
meaning that C code may be invoked directly from (ms) programs.")
    (license license:expat)))
n, schauen Sie bitte auf @url{https://issues.guix.gnu.org} nach bisherigen Fehlerberichten und Lösungen und schicken Sie eine E-Mail an @email{bug-guix@@gnu.org}, um neue Fehler zu melden.") (fr "Les logiciels fondamentaux on été mis à jour, en particulier ceux qui servent à construire tous les autres logiciels de la distribution. Les mises à jour notables sont : @itemize @item @code{glibc} 2.39 (au lieu de 2.35) ; @item @code{gcc} 11.4.0 comme compilateur par défaut (au lieu de 11.3.0) ; @item @code{binutils} 2.41 (au lieu de 2.38) ; @item @code{make} 4.4.1 (au lieu de 4.3) ; @item TeX@tie{}Live 2024.2 (au lieu de 20230313 ; compte tenu du changement de numérotation des versions, @command{guix upgrade} va croire que les nouveaux paquets sont « plus vieux » que les précédents et il faudra donc utiliser @command{guix install} pour les mettre à jour). @end itemize Les systèmes de construction ainsi que les paquets et outils connexes ont été améliorés : @itemize @item le paquet @code{glibc} inclut dorénavant la locale @code{C.UTF-8} qui convient chaque fois qu'on a besoin d'une locale UTF-8 indépendemment d'un langage ou de conventions régionales ; @item les origines qui incluent des @i{patches} sont maintenant recompressées avec zstd au lieu de xz, ce qui demande moins de temps de calcul et de mémoire, à la fois en compression et en décompression ; @item des problèmes de performance avec les paquets TeX@tie{}Live modulaires ont été résolus. @end itemize En cas de difficultés, merci de jeter un œil à @url{https://issues.guix.gnu.org} pour voir la liste des problèmes qui ont été remontés et les éventuelles solutions ; envoyer un courrier à @email{bug-guix@@gnu.org} pour faire remonter de nouveaux bogues."))) (entry (commit "fc35b9fa6d6ed3583d4f3fc9214f657022d49678") (title (en "Linux-libre 6.9 removed due to end of upstream support") (de "Linux-libre 6.9 wurde entfernt")) (body (en "The linux-libre 6.9 kernel series has reached the end of its life, and is no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Die @code{linux-libre} 6.9-Versionsreihe hat ihr Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die Versionsreihe aus GNU Guix entfernt worden."))) (entry (commit "4e58dfee6c7456d1e662f66041b8a157efe8710a") (title (en "More capable @code{privileged-programs} replace @code{setuid-programs}") (de "Befähigtere @code{privileged-programs} ersetzen @code{setuid-programs}") (nl "Capabelere @code{privileged-programs} vervangen @code{setuid-programs}")) (body (en "Where the kernel supports it, Guix System can now assign POSIX@tie{}@dfn{capabilities} to trusted executables. Capabilities offer a more granular alternative to the traditional setuid and setgid permissions, which remain available. To reflect this, @code{(gnu system setuid)} has been renamed to @code{(gnu system privilege)}. @code{privileged-programs} replaces @code{setuid-programs} as @code{operating-system} field and defaults to @code{%default-privileged-programs}. The executables themselves have moved from @file{/run/setuid-programs} to @file{/run/privileged/bin}.") (de "Wo der Kernel dies unterstützt, kann Guix System nun POSIX-@dfn{Capabilities} an die Anwendungen vergeben, denen besonders vertraut wird. Capabilities bieten eine feinmaschigere Alternative zu den klassischen setuid- und setgid-Berechtigungen, die auch verfügbar bleiben. Um dies deutlich zu machen, heißt @code{(gnu system setuid)} nun @code{(gnu system privilege)}. Das Feld @code{privileged-programs} ersetzt @code{setuid-programs} in jedem @code{operating-system}-Objekt und sein Vorgabewert ist @code{%default-privileged-programs}. Die ausführbaren Dateien wurden von @file{/run/setuid-programs} nach @file{/run/privileged/bin} verschoben.") (nl "Waar de kernel dit toelaat kan Guix System nu POSIX@tie{}@dfn{capabilities} toewijzen aan vertrouwde uitvoerbare bestanden. ``Capabilities'' zijn een fijnmaziger alternatief voor de klassieke setuid- en setgid-rechten, die ook beschikbaar blijven. Om dit duidelijk te maken heet @code{(gnu system setuid)} nu @code{(gnu system privilege)}. @code{privileged-programs} vervangt @code{setuid-programs} als veld in het @code{operating-system} en heeft @code{%default-privileged-programs} als standaardwaarde. De uitvoerbare bestanden verhuizen van @file{/run/setuid-programs} naar @file{/run/privileged/bin}."))) (entry (commit "26638b8e8129aa755586d017677b4cf076bafda6") (title (en "The containerd service is separated from @code{docker-service-type}") (ru "Сервис containerd отделен от @code{docker-service-type}") (de "containerd-Dienst wurde vom @code{docker-service-type} getrennt")) (body (en "containerd service has been decoupled from the @code{docker-service-type}. Moving forward, users are required to specify containerd settings manually for their configurations. The @code{containerd-service-type} service need to be added to a system configuration, otherwise a message about not any service provides @code{containerd} will be displayed during @code{guix system reconfigure}. Run @command{info \"(guix) Miscellaneous Services\"} for more info.") (ru "Сервис containerd был отделен от @code{docker-service-type}. Впредь пользователям потребуется указывать параметры containerd вручную для своих конфигураций. Сервис @code{containerd-service-type} должен быть добавлен в конфигурацию системы, в противном случае будет отображено сообщение о том, что ни один сервис не предоставляет поддержку для @code{containerd} во время выполнения команды @code{guix system reconfigure}. Смотрите @command{info \"(guix.ru) Разнообразные службы\"} для получения более детальных сведений.") (de "Es gibt einen eigenen containerd-Dienst losgelöst von @code{docker-service-type}. In Zukunft müssen Nutzer dort manuelle Einstellungen für containerd vornehmen. Der Dienst @code{containerd-service-type} muss zur Systemkonfiguration hinzugefügt werden, sonst wird durch @code{guix system reconfigure} eine Meldung gezeigt, dass kein Dienst @code{containerd} zur Verfügung stellt. Siehe @command{info \"(guix.de) Verschiedene Dienste\"} für genauere Informationen."))) (entry (commit "ee7e5e00bf2b9257e67d785b37efddb008c5da37") (title (en "Plasma updated to version 6.1.2") (de "Plasma auf Version 6.1.2 aktualisiert") (fr "Plasma passe à la version 6.1.2") (zh "Plasma 更新到 6.1.2 版本")) (body (en "Plasma updated to 6.1.2, KDE Frameworks updated to 6.3.0, and other KDE package updates. With Plasma updates, SDDM has QT6 enabled by default. If you want to still use a Qt5 theme, you need to set the field @code{sddm} in @code{sddm-configuration} to @code{sddm-qt5}.") (de "Plasma wurde auf 6.1.2 aktualisiert, KDE Frameworks wurde auf 6.3.0 aktualisiert und andere KDE-Pakete wurden aktualisiert. Mit der Aktualisierung von Plasma ist in SDDM die Version qt6 vorgegeben. Wenn Sie ein Qt5-Thema benutzen möchten, müssen Sie in der @code{sddm-configuration} das Feld @code{sddm} auf @code{sddm-qt5} setzen.") (fr "Plasma passe à la version 6.1.2, KDE Frameworks à la 6.3.0, et d’autres logiciels KDE sont mis à jour. Avec ces mises à jour de Plasma, sddm utilise Qt 6 par défaut. Pour utiliser un thème Qt 5, il faut mettre le champ @code{sddm} de @code{sddm-configuration} à @code{sddm-qt5}.") (zh "Plasma 更新到 6.1.2, KDE Frameworks 更新到 6.3.0, 及其他 KDE 软件包更新。 随着 Plasma 更新, SDDM 默认启用 Qt6, 如果您还想使用 Qt5 主题, 需要将 @code{sddm-configuration} 中的 @code{sddm} 字段设置为 @code{sddm-qt5}."))) (entry (commit "a46908620fac09bd8ccd0f587a27e86035d3b1d7") (title (en "@code{stumpwm:lib} removed") (de "@code{stumpwm:lib} wurde entfernt") (fr "@code{stumpwm:lib} supprimé")) (body (en "The @code{lib} output of the @code{stumpwm} package has been removed. If you have some personal package definitions depending on @code{stumpwm:lib}, they should be updated to depend on @code{stumpwm} instead.") (de "Die Ausgabe @code{lib} des Pakets @code{stumpwm} gibt es nicht mehr. Wenn Sie eigene Paketdefinitionen haben, die von @code{stumpwm:lib} abhängen, müssen sie angepasst werden, um stattdessen von @code{stumpwm} abzuhängen.") (fr "La sortie @code{lib} du paquet @code{stumpwm} a été supprimée. Si vous avez des définitions de paquets personnels dépendantes de @code{stumpwm:lib}, elle doivent être modifiées pour dépendre de @code{stumpwm} à la place."))) (entry (commit "6fad0fd1c32db2cb25447b694f08d5c7836536ad") (title (en "Linux-libre 6.8 removed due to end of upstream support") (de "Linux-libre 6.8 wurde entfernt")) (body (en "The linux-libre 6.8 kernel series has reached the end of its life, and is no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Die @code{linux-libre} 6.8-Versionsreihe hat ihr Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die Versionsreihe aus GNU Guix entfernt worden."))) (entry (commit "8d1d98a3aa3448b9d983e4bd64243a938b96e8ab") (title (en "@command{guix git authenticate} usage simplified") (de "@command{guix git authenticate} ist leichter nutzbar") (fr "@command{guix git authenticate} simplifiée")) (body (en "Usage of the @command{guix git authenticate} command has been simplified. The command is useful to channel authors and to developers willing to validate the provenance of their code. On your first use, @command{guix git authenticate} will now record the commit and signer (the @dfn{introduction}) in the @file{.git/config} file of your repository so that you don't have to pass them on the command line in subsequent runs. It will also install pre-push and post-merge hooks, unless preexisting hooks are found. Run @command{info \"(guix) Invoking guix authenticate\"} for more info.") (de "Der Befehl @command{guix git authenticate} kann jetzt einfacher benutzt werden. Mit dem Befehl können Kanalautoren und Entwickler die Provenienz ihres Codes überprüfen. Beim ersten Gebrauch speichert @command{guix git authenticate} Commit und Unterzeichner (wie in der @dfn{Kanaleinführung}) in der Datei @file{.git/config} Ihres Repositorys, so dass Sie sie bei späteren Ausführungen nicht mehr auf der Befehlszeile angeben müssen. Auch werden Git-Hooks für pre-push und post-merge installiert, wenn es bisher keine Hooks dieser Art gibt. Führen Sie @command{info \"(guix.de) Aufruf von guix git authenticate\"} aus, wenn Sie mehr wissen wollen.") (fr "L'utilisation de la commande @command{guix git authenticate} a été simplifiée. Cette commande est utile aux auteur·rices de canaux et aux développeur·euses souhaitant pouvoir valider l'origine de leur code. À la première utilisation, @command{guix git authenticate} enregistre désormais le commit et signataire (l'@dfn{introduction}) dans le fichier @file{.git/config} du dépôt, ce qui permet de ne pas avoir à les spécifier sur la ligne de commande les fois suivantes. La commande installe aussi des crochets « pre-push » et « post-merge », sauf si des crochets préexistants sont trouvés. Lancer @command{info \"(guix.fr) Invoquer guix git authenticate\"} pour en savoir plus."))) (entry (commit "238a74c7dfd1469af064b445abcee38fd7408d5b") (title (en "Linux-libre 6.7 removed due to end of upstream support") (de "Linux-libre 6.7 wurde entfernt")) (body (en "The linux-libre 6.7 kernel series has reached the end of its life, and is no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Die @code{linux-libre} 6.7-Versionsreihe hat ihr Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die Versionsreihe aus GNU Guix entfernt worden."))) (entry (commit "67a3a83170c038d2eb084d3f53a7ea7b033aea74") (title (en "@code{nss-certs} is now included in @code{%base-packages}") (de "@code{nss-certs} ist jetzt Teil von @code{%base-packages}") (fr "@code{nss-certs} est maintenant inclus dans @code{%base-packages}")) (body (en "The @code{nss-certs} package is now included in the @code{%base-packages}, the default value for the @code{packages} field of the @code{operating-system} record. If you are a Guix System user, in your operating system configuration file, please no longer add @code{(specification->package \"nss-certs\")} to @code{%base-packages}.") (de "Das Paket @code{nss-certs} ist jetzt in @code{%base-packages} enthalten, dem Vorgabewert des @code{packages}-Felds im @code{operating-system}-Verbundstyp. Wenn Sie ein Nutzer von Guix System sind, fügen Sie bitte in Ihrer Betriebssystemkonfigurationsdatei nicht mehr @code{(specification->package \"nss-certs\")} zu @code{%base-packages} hinzu.") (fr "Le paquet @code{nss-certs} est maintenant inclus dans @code{%base-packages}, la valeur par défaut du champ @code{packages} de l'enregistrement @code{operating-system}. Si vous êtes une utilisatrice ou un utilisateur du système Guix, dans le fichier de configuration du système d'exploitation, veuillez ne plus ajouter @code{(specification->package \"nss-certs\")} à @code{%base-packages}."))) (entry (commit "b4aed68e960116b2b60f68ea1468d7a526149823") (title (en "Linux-libre LTS kernel updated to 6.6") (de "Linux-libre LTS Kernel wird auf 6.6 aktualisiert")) (body (en "The default version of the @code{linux-libre-lts} kernel has been updated to the 6.6 longterm release series.") (de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert jetzt auf der 6.6-Versionsreihe (Langzeitunterstützung)."))) (entry (commit "523f3def65ab061a87f4fc9e6f9008e6a78fafb5") (title (en "GNOME updated to version 44 with a more modular desktop service") (de "GNOME auf Version 44 aktualisiert mit modularem Dienst") (fr "Mise à jour de GNOME en version 44 avec un service plus modulaire") (zh "GNOME 44 更新,帶來更加模塊化的桌面服務")) (body (en "The @code{gnome-desktop-service-type} now differentiates between shell, utilities, and extra-packages among other fields to bring more structure in its configuration. With the update to GNOME 44, some shell extensions have been deprecated and others removed. If any @code{gnome-shell-extension-@dots{}} package causes an error while running your usual update routine, make sure to remove it from your profile.") (de "Der Dienst @code{gnome-desktop-service-type} unterscheidet nun unter anderem zwischen den Feldern shell, utilities und extra-packages, und bringt so etwas mehr Struktur in die Konfiguration. Mit dem Update zu GNOME 44 wurden einige Erweiterungen als obsolet deklariert und andere entfernt. Falls ein Paket, dessen Name mit @code{gnome-shell-extension-} beginnt, zu einem Fehler während Ihrer Update-Routine führt, entfernen Sie es von Ihrem Profil.") (fr "Le service @code{gnome-desktop-service-type} sépare maintenant les champs @code{shell}, @code{utilities} et @code{extra- packages} (entre autres) pour donner plus de structure à sa configuration. Pendant la mise à jour vers GNOME 44, certaines extensions du shell ont été dépréciées et d’autres supprimées. Si un paquet nommé @code{gnome-shell-extension-@dots{}} émet une erreur quand vous effectuez la mise à jour, vous devriez l’enlever de votre profil.") (zh "@code{gnome-desktop-service-type} 設置新增 @code{shell}、 @code{utilities}、@code{extra-packages} 等字段,使得 GNOME 桌面配置更加模塊化。 隨着 GNOME 44 更新,一些 GNOME Shell 拓展已被棄用或刪除。更新中若有關於 @code{gnome-shell-extension-@dots{}} 軟件包的錯誤,請將對應軟件包從 profile 中 刪除。"))) (entry (commit "06d01c610e3bee61e38a177aecda5982d5b338ae") (title (en "The GNOME Display Manager uses Wayland by default") (de "GNOME Display Manager nutzt nun Wayland als Vorgabe") (fr "GDM utilise Wayland par défaut") (zh "GNOME 顯示管理器(GDM)服務默認啓用 Wayland 支持")) (body (en "The @code{gdm-service-type} is configured to use Wayland instead of Xorg by default.") (de "Der Dienst @code{gdm-service-type} verwendet nun Wayland als Vorgabe anstelle von Xorg.") (fr "Le service @code{gdm-service-type} est configuré par défaut pour utiliser Wayland au lieu de Xorg.") (zh "@code{gdm-service-type} 預設已由 Xorg 改爲 Wayland。"))) (entry (commit "498db4de1f09414adf68a3a383f0178434035179") (title (en "The udev service also manages hardware configuration files") (de "Udev verwaltet nun auch Hardwarekonfigurationen") (fr "Le service udev gère maintenant les configurations de matériel") (zh "udev 服務現可管理硬件配置文件")) (body (en "The @code{udev-service-type} can now be configured and extended with eudev hardware configuration files (named @dfn{hwdb} by the eudev project).") (de "Der Udev-Dienst kann nun mit Hardwaredatenbanken (auch als @dfn{hwdb} bekannt) konfiguriert und erweitert werden.") (fr "Le type de service @code{udev-service-type} peut maintenant être configuré et étendu avec des fichiers de configuration de matériel (appelés @dfn{hwdb} par le projet eudev).") (zh "現可使用 eudev 的硬件配置文件(@dfn{hwdb})設置及拓展 @code{udev-service-type}。"))) (entry (commit "ff1251de0bc327ec478fc66a562430fbf35aef42") (title (en "Daemon vulnerability allowing store corruption has been fixed") (de "Schwachstelle im Daemon behoben, durch die der Store verfälscht werden konnte") (fr "Une faille du démon permettant de corrompre le dépôt a été corrigée")) (body (en "A vulnerability in the build daemon, @command{guix-daemon}, was identified and fixed. The vulnerability would allow unprivileged users to corrupt the result of @dfn{fixed-output derivations} such as source code tarballs and Git checkouts, which in turn could lead to local privilege escalation. This bug is fixed and Guix System users are advised to upgrade their system, with a command along the lines of: @example sudo guix system reconfigure /run/current-system/configuration.scm sudo herd restart guix-daemon @end example If you are using Guix on another distro, run @command{info \"(guix) Upgrading Guix\"} or visit @uref{https://guix.gnu.org/manual/devel/en/html_node/Upgrading-Guix.html} to learn how to upgrade Guix. See @uref{https://issues.guix.gnu.org/69728} for more information on this issue.") (de "Eine Sicherheitslücke im Erstellungs-Daemon, @command{guix-daemon}, wurde gefunden und geschlossen. Sie hatte es unprivilegierten Nutzern ermöglicht, das Ergebnis einer @dfn{Ableitung mit fester Ausgabe}, wie Quellcode-Tarballs und Git-Checkouts, zu manipulieren. So war eine lokale Rechteausweitung möglich. Der Fehler ist behoben und wir raten Nutzern von Guix System, ihr System zu aktualisieren mit einem Befehl wie: @example sudo guix system reconfigure /run/current-system/configuration.scm sudo herd restart guix-daemon @end example Wenn Sie Guix auf einer anderen Distribution verwenden, erfahren Sie mit dem Befehl @command{info \"(guix.de) Aktualisieren von Guix\"} oder auf @uref{https://guix.gnu.org/manual/devel/de/html_node/Aktualisieren-von-Guix.html}, wie Sie Guix aktualisieren. Siehe @uref{https://issues.guix.gnu.org/69728} für mehr Informationen zu dem Fehler.") (fr "Une faille de sécurité du démon de compilation, @command{guix-daemon}, a été identifiée et corrigée. La faille permettait à un·e utilisateur·rice sans privilège de corrompre le résultat d'une @dfn{dérivation à sortie fixe} telle qu'une archive ou un @i{checkout} Git, ce qui peut ensuite permettre une élévation locale de privilèges. Ce problème est corrigé et les utilisateur·rices de Guix System sont invité·es à mettre à jour leur système avec une commande telle que : @example sudo guix system reconfigure /run/current-system/configuration.scm sudo herd restart guix-daemon @end example Pour voir comment mettre à jour Guix sur une autre distribution, lancer @command{info \"(guix.fr) Mettre à niveau Guix\"} ou visiter @uref{https://guix.gnu.org/manual/devel/fr/html_node/Mettre-a-niveau-Guix.html}. Voir @uref{https://issues.guix.gnu.org/69728} pour plus d'informations sur cette anomalie."))) (entry (commit "10a193596368443f441077525ebbddf787d91e4b") (title (en "Linux-libre 4.14 removed due to end of upstream support") (de "Linux-libre 4.14 wurde entfernt")) (body (en "The linux-libre 4.14 kernel series has reached the end of its life, and is no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Die @code{linux-libre} 4.14-Versionsreihe hat ihr Supportende erreicht und wird nicht mehr unterstützt („end of life“). Daher ist die Versionsreihe aus GNU Guix entfernt worden."))) (entry (commit "519e1e3eb88ec532fc83ebb742d9919269b57c87") (title (de "Neue Option @samp{--max-layers=N} für den Befehl @command{guix pack}") (en "New @samp{--max-layers=N} option for the @command{guix pack} command") (ru "Новая опция @samp{--max-layers=N} для @command{guix pack} команды")) (body (de "Sie können jetzt auch mehrschichtige Docker-Abbilder mit dem Befehl @command{guix pack --format=docker --max-layers=N} erzeugen. Damit bekommen Sie ein Docker-Abbild, bei dem Store-Pfade auf getrennten Schichten („Layer“) untergebracht sind, die sich mehrere Abbilder teilen können. Das Abbild wird im Store als gzip-komprimierter Tarball erzeugt. Hier ist ein einfaches Beispiel, wo ein mehrschichtiges Docker-Abbild für das Paket @code{hello} angelegt wird: @example guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello @end example @command{guix system image} kann jetzt geschichtete Docker-Abbilder erzeugen, indem Sie @code{--max-layers=N} übergeben. Siehe @command{info \"(guix.de) Aufruf von guix pack\"} und @command{info \"(guix.de) Systemabbilder\"} für weitere Informationen.") (en "Docker layered images can now be produced via the @command{guix pack --format=docker --max-layers=N} command, providing a Docker image with many of the store paths being on their own layer to improve sharing between images. The image is realized into the GNU store as a gzipped tarball. Here is a simple example that generates a layered Docker image for the @code{hello} package: @example guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello @end example The @command{guix system image} can now produce layered Docker image by passing @code{--max-layers=N}. See @command{info \"(guix) Invoking guix pack\"} and @command{info \"(guix) System Images\"} for more information.") (ru "Появилась команда создания многослойных Docker образов с помощью @command{guix pack --format=docker --max-layers=N}, которая соберет Docker образ с путями в store расположенными на отдельных слоях, ускоряя таким образом передачу образов. Образ будет создан в GNU store в качестве gzipped tarball. Пример создания Docker layered образ с @code{hello} пакетом: @example guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello @end example @command{guix system image} теперь может создавать layered Docker образ путем указания опции @option{--max-layers=N}. Смотрите @command{info \"(guix) Invoking guix pack\"} и @command{info \"(guix) System Images\"} для получения более детальных сведений."))) (entry (commit "953c65ffdd43c02c934518fb7a1c68542584b223") (title (en "Declarative offloading on Guix System and childhurds") (de "Auslagern kann deklariert werden auf Guix System und Childhurds") (fr "Déclaration du déchargement dans Guix System et childhurds")) (body (en "When configuring Guix System, it is now possible to declare build machines to offload to directly from the @code{operating-system} declaration by specifying the @code{build-machines} field of @code{guix-configuration}. When you do this, @command{guix system} generates a @file{/etc/guix/machines.scm} file by concatenating the @code{(build-machine @dots{})} expressions you specified. This mechanism is used by @code{hurd-vm-service-type}, also known as ``childhurd'', to create virtual machines running the GNU/Hurd operating system one can offload to, without additional configuration steps. Run @command{info \"(guix) Daemon Offload Setup\"} for more info on offloading; run @command{info \"(guix) Virtualization Services\"} for info on @code{hurd-vm-service-type}.") (de "In der Betriebssystemkonfiguration von Guix System können jetzt auch die Erstellungsmaschinen deklariert werden, an die Erstellungen ausgelagert werden. Diese geben Sie im Feld @code{build-machines} einer @code{guix-configuration} an. In diesem Fall wird @command{guix system} eine Datei @file{/etc/guix/machines.scm} anlegen, die der Aneinanderreihung der angegebenen @code{(build-machine @dots{})}-Ausdrücke entspricht. Der Mechanismus wird für @code{hurd-vm-service-type} eingesetzt, auch bekannt als „Childhurd“, um virtuelle Maschinen anzulegen, auf denen das GNU/Hurd-Betriebssystem läuft und auf die man auslagern kann, ohne weitere Einstellungen vorzunehmen. Führen Sie @command{info \"(guix.de) Auslagern des Daemons einrichten\"} aus, um mehr Informationen über das Auslagern zu bekommen; führen Sie @command{info \"(guix.de) Virtualisierungsdienste\"} aus für Informationen zu @code{hurd-vm-service-type}.") (fr "Dans sa configuration Guix System, il est désormais possible de déclarer les machines de construction vers lesquelles se décharger directement dans la déclaration @code{operating-system} en spécifiant le champ @code{build-machines} de @code{guix-configuration}. Quand on fait cela, @command{guix system} produit un fichier @file{/etc/guix/machines.scm} en concaténant les expressions @code{(build-machine @dots{})} fournies. Ce mécanisme est utilisé par @code{hurd-vm-service-type}, également appelé « childhurd », pour créer des machines virtuelles faisant tourner le système d'exploitation GNU/Hurd vers lesquelles se décharger, sans étape supplémentaire de configuration. Lancer @command{info \"(guix.fr) Réglages du déchargement du démon\"} pour plus d'informations sur le délestage ; lancer @command{info \"(guix.fr) Services de virtualisation\"} pour en apprendre sur @code{hurd-vm-service-type}."))) (entry (commit "db775e7367e8deffb513aad94f4afb875d796d0b") (title (en "Linux-libre 6.3 removed due to end of upstream support") (de "Linux-libre 6.3 wurde entfernt")) (body (en "The linux-libre 6.3 kernel series has reached the end of its life, and is no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Vom Kernel @code{linux-libre} wird die 6.3-Versionsreihe keine Unterstützung von dessen Anbieter mehr erfahren („end of life“). Daher ist es aus GNU Guix entfernt worden."))) (entry (commit "bff1f2d4d07e934ea296f9c724b5337996a27c44") (title (en "Linux-libre kernel updated to 6.4") (de "Linux-libre-Kernel wird auf 6.4 aktualisiert") (fr "Le noyau linux-libre est mis à jour vers la 6.4") (pt "Kernel linux-libre atualizado para 6.4")) (body (en "The default version of the linux-libre kernel has been updated to the 6.4 release series.") (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert jetzt auf der 6.4-Versionsreihe.") (fr "La version par défaut du noyau linux-libre est mise à jour vers la série des 6.4.") (pt "A versão padrão do kernel linux-libre foi atualizada para a série do kernel 6.4."))) (entry (commit "1b7aabbc79969a89141aadd3d41d7a5329a3462e") (title (en "New @command{guix locate} command") (de "Neuer Befehl @command{guix locate}") (fr "Nouvelle commande @command{guix locate}")) (body (en "The new @command{guix locate} command lets you search for packages containing a given file---at long last! For instance, to find which package(s) provide a file named @file{ls}, run: @example guix locate ls @end example Currently the command relies on purely local information. It is thus unable to find packages that have not reached your store. This limitation will be lifted in a future revision. Run @command{info \"(guix) Invoking guix locate\"} for more info.") (de "Mit dem neuen Befehl @command{guix locate} können Sie nach Paketen suchen, die eine angegebene Datei enthalten — endlich ist es soweit! Um zum Beispiel das Paket bzw.@: die Pakete zu finden, die eine Datei namens @file{ls} bereitstellen, führen Sie aus: @example guix locate ls @end example Derzeit benutzt der Befehl ausschließlich lokal vorliegende Informationen. Daher können Sie damit nur Pakete finden, die sich in Ihrem Store-Verzeichnis befinden. Diese Einschränkung werden wir in einer zukünftigen Version aufheben. Führen Sie @command{info \"(guix) Invoking guix locate\"} aus, um mehr zu erfahren.") (fr "La nouvelle commande @command{guix locate} permet de chercher le ou les paquets contenant un fichier donné---enfin ! Par exemple, pour trouver quel paquet fournit un fichier nommé @file{ls}, on lance : @example guix locate ls @end example Pour le moment la commande se base uniquement sur des informations locales. Elle ne peut donc pas trouver des paquets absents de votre dépôt. Cette limitation sera levée dans une prochaine version. Lancer @command{info \"(guix) Invoking guix locate\"} pour plus d'informations."))) (entry (commit "ba5da5125a81307500982517e2f458d57b024668") (title (en "New @code{arguments} rule for @command{guix style}") (de "Neue Stilregel @code{arguments} für @command{guix style}") (fr "Nouvelle règle @code{arguments} pour @command{guix style}")) (body (en "The @command{guix style} command has a new @dfn{styling rule} for package definitions. Package writers may now run the following command: @example guix style -L /path/to/channel -S arguments @var{package} @end example This command rewrites the @code{arguments} field of @var{package} so that it uses G-expressions instead of classical quasiquotation. Run @command{info \"(guix) Invoking guix style\"} for more info.") (de "Der Befehl @command{guix style} verfügt über eine neue @dfn{Stilregel} für Paketdefinitionen. Paketautoren können jetzt folgenden Befehl benutzen: @example guix style -L /pfad/zum/kanal -S arguments @var{Paket} @end example Dadurch wird das Feld @code{arguments} in @var{Paket} so umgeschrieben, dass G-Ausdrücke (gexps) anstelle von klassischer Quasiquotierung verwendet werden. Führen Sie @command{info \"(guix.de) Aufruf von guix style\"} aus, um mehr Informationen zu erhalten.") (fr "La commande @command{guix style} a une nouvelle @dfn{règle de style} pour les définitions de paquets. Les auteurices de paquets peuvent maintenant lancer la commande suivante : @example guix style -L /chemin/vers/canal -S arguments @var{paquet} @end example Cette commande réécrit le champ @code{arguments} de @var{paquet} pour qu'il utilise des G-expressions plutôt que des quasicitations classiques. Lancer @command{info \"(guix.fr) Invoquer guix style\"} pour plus d'informations."))) (entry (commit "ae11fcb84ac478dfa56d322ef08890645183a087") (title (en "New @option{--with-configure-flag} transformation option") (de "Neue Paketumwandlungsoption @option{--with-configure-flag}") (fr "Nouvelle option de transformation @option{--with-configure-flag}")) (body (en "The new @option{--with-configure-flag} package transformation option lets you pass an additional configure flag to the build system of a package. For instance, here is how you would pass a flag to @command{cmake}, the build system of the @code{lapack} package: @example guix build lapack \\ --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF @end example Run @command{info \"(guix) Package Transformation Options\"} for more info.") (de "Die neue Paketumwandlungsoption @option{--with-configure-flag} macht es möglich, dem Erstellungssystem eines Pakets eine zusätzliche Befehlszeilenoption für configure mitzugeben. Zum Beispiel können Sie dem @command{cmake}-Erstellungssystem des @code{lapack}-Pakets eine Option mitgeben: @example guix build lapack \\ --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF @end example Führen Sie für mehr Informationen @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus.") (fr "La nouvelle option de transformation de paquets @option{--with-configure-flag} permet de passer un drapeau supplémentaire au système de construction d'un paquet. Par exemple, voici comment on passerait un drapeau à @command{cmake}, le système de construction du logiciel @code{lapack} : @example guix build lapack \\ --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF @end example Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour plus de détails."))) (entry (commit "c919bfefd98bf2e29549539b4e28e6dc2a8a6f32") (title (en "Core packages updated") (de "Kern-Pakete aktualisiert") (fr "Mise à jour des logiciels importants")) (body (en "Core packages have been updated, following months of hard work by contributors. Noteworthy package upgrades include: @itemize @item glibc 2.35; @item Python 3.10; @item Perl 5.36; @item Mesa 22; @item GCC 11 is now used as the default compiler. @end itemize A major highlight is the introduction of the so-called @dfn{full-source bootstrap}: packages are all built starting from a 500-byte program called stage0, which is then used to build a higher-level interpreter, a basic Scheme interpreter and C compiler (GNU Mes), and so on, until @acronym{GCC, the GNU Compiler Collection} is finally built. This is a premiere and a huge step forward in terms of transparency of auditability.") (de "Die Pakete, die den Kern der Distribution ausmachen, haben eine Aktualisierung bekommen. Dies ist das Ergebnis monatelanger harter Arbeit unserer Mitwirkenden. Zu den wichtigen Paketaktualisierungen gehören: @itemize @item glibc 2.35, @item Python 3.10, @item Perl 5.36, @item Mesa 22, @item GCC 11 wird jetzt standardmäßig als Compiler benutzt. @end itemize Eine große Neuigkeit ist, dass Guix jetzt auf „Bootstrapping aus dem Quellcode allein“ basiert: Grundlage der Pakete ist ein 500 Byte großes Programm namens stage0, womit ein weiter abstrahierter Interpretierer kompiliert wird, dann ein grundlegender Scheme-Interpretierer und C-Compiler (GNU Mes), und so geht es weiter, bis endlich @acronym{GCC, die GNU Compiler Collection} erstellt wird. Es ist eine Premiere und ein großer Schritt nach vorne, was Transparenz und Auditierbarkeit angeht.") (fr "Les logiciels de base ont été mis à jour, après des mois de dur labeur par les contributeur·rices du projet. Parmi les mises à jour notables, il y a : @itemize @item glibc 2.35 ; @item Python 3.10 ; @item Perl 5.36 ; @item Mesa 22 ; @item GCC 11 est dorénavant le compilateur par défaut. @end itemize Une autre nouveauté importante est l'introduction de @dfn{l'amorçage intégral depuis le source} (@i{full-source bootstrap} en anglais) : les logiciels sont compilés en partant d'un programme de 500 octets appelé stage0, à partir duquel on compile un interprète de plus haut niveau, un interprète Scheme et un compilateur C de base (GNU Mes), et ainsi de suite, jusqu'à ce que @acronym{GCC, the GNU Compiler Collection} soit enfin compilé. C'est une première et un grand pas en avant en termes de transparence et d'auditabilité."))) (entry (commit "21564fada141bfba25d471518b293b6004244c3a") (title (en "Linux-libre LTS kernel updated to 6.1") (de "Linux-libre LTS Kernel wird auf 6.1 aktualisiert")) (body (en "The default version of the @code{linux-libre-lts} kernel has been updated to the 6.1 longterm release series.") (de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert jetzt auf der 6.1-Versionsreihe (Langzeitunterstützung)."))) (entry (commit "57db09aae73e3713a10c5253758d84e1046f80dc") (title (en "Using Guix within @command{guix shell --container}") (de "Guix innerhalb @command{guix shell --container} nutzen") (fr "Utilisation de Guix dans @command{guix shell --container}")) (body (en "The @option{--container} (or @option{-C}) option lets you spawn a container---an isolated software environment. In some cases, it is useful to use Guix from within the container, something that is normally not possible. The new @option{--nesting} (or @option{-W}) option lets you do exactly that: a container created with that option will let you use @command{guix} commands, including @command{guix shell -C}, @emph{inside} of it. The example below shows how to evaluate a @file{guix.scm} file to build a package from within an isolated container, which is useful if @file{guix.scm} is untrusted: @example guix shell -CW -- guix build -f guix.scm @end example Run @command{info \"(guix) Invoking guix shell\"} for more information.") (de "Mit der Befehlszeilenoption @option{--container} (oder @option{-C}) können Sie Container anlegen, also isolierte Software-Umgebungen. Allerdings will man manchmal Guix innerhalb eines Containers nutzen, was unmöglich ist, wenn Sie es normal aufrufen. Die neue Befehlszeilenoption @option{--nesting} (oder @option{-W}) ergänzt genau das: In einem damit angelegten Container lassen sich @command{guix}-Befehle, einschließlich @command{guix shell -C}, @emph{im Container} benutzen. Folgendes Beispiel zeigt, wie Sie eine Datei @file{guix.scm} auswerten lassen, um ein Paket aus dem isolierten Container heraus erstellen zu lassen. Das können Sie gebrauchen, wenn Sie @file{guix.scm} @emph{nicht} vertrauen: @example guix shell -CW -- guix build -f guix.scm @end example Führen Sie @command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr zu erfahren.") (fr "L'option @option{--container} (ou @option{-C}) permet de démarrer un conteneur---un environnement logiciel isolé. Dans certains cas, il peut être utile d'utiliser Guix à l'intérieur du conteneur, ce qui n'est normalement pas possible. La nouvelle option @option{--nesting} (ou @option{-W}) résoud ce problème : un conteneur créé avec cette option permet d'utiliser des commandes @command{guix} à l'intérieur, y compris @command{guix shell -C}. L'exemple ci-dessous montre comment évaluer un fichier @file{guix.scm} pour construire un paquet depuis un conteneur isolé, ce qui est utile si @file{guix.scm} n'est pas de confiance : @example guix shell -CW -- guix build -f guix.scm @end example Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus d'informations."))) (entry (commit "0e18c5e5bcb9204c278cfc75493d3b02b746d5c3") (title (en "Linux-libre kernel updated to 6.2") (de "Linux-libre-Kernel wird auf 6.2 aktualisiert") (fr "Le noyau linux-libre est mis à jour vers la 6.2") (pt "Kernel linux-libre atualizado para 6.2")) (body (en "The default version of the linux-libre kernel has been updated to the 6.2 release series.") (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert jetzt auf der 6.2-Versionsreihe.") (fr "La version par défaut du noyau linux-libre est mise à jour vers la série des 6.2.") (pt "A versão padrão do kernel linux-libre foi atualizada para a série do kernel 6.2."))) (entry (commit "598f4c509bbfec2b983a8ee246cce0a0fe45ec7f") (title (de "Neues Format @samp{rpm} für den Befehl @command{guix pack}") (en "New @samp{rpm} format for the @command{guix pack} command") (fr "Nouveau format @samp{rpm} pour la commande @command{guix pack}")) (body (de "Sie können jetzt auch RPM-Archive (mit der Dateinamenserweiterung .rpm) erzeugen mit dem Befehl @command{guix pack --format=rpm}. Damit haben Sie einen alternativen Distributionsweg für mit Guix erstellte Software. Hier sehen Sie ein einfaches Beispiel, wie Sie ein RPM-Archiv für das Paket @code{hello} erzeugen: @example guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello @end example Siehe @command{info \"(guix.de) Aufruf von guix pack\"} für mehr Informationen.") (en "RPM archives (with the .rpm file extension) can now be produced via the @command{guix pack --format=rpm} command, providing an alternative distribution path for software built with Guix. Here is a simple example that generates an RPM archive for the @code{hello} package: @example guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello @end example See @command{info \"(guix) Invoking guix pack\"} for more information.") (fr "Vous pouvez désormais produire une archive RPM (avec l'extension .rpm) avec la commande @command{guix pack --format=rpm} qui propose donc une nouvelle manière de distribuer les logiciels construits avec Guix. Voici un exemple permettant de générer une archive RPM pour le paquet @code{hello} : @example guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello @end example Consultez @command{info \"(guix.fr) Invoquer guix pack\"} pour plus d'informations."))) (entry (commit "137b91f03bbb7f1df71cf10c4f79ae57fbcea400") (title (en "New @option{--with-version} package transformation option") (de "Neue Paketumwandlungsoption @option{--with-version}") (fr "Nouvelle option de transformation @option{--with-version}")) (body (en "The new @option{--with-version} package transformation option generalizes @option{--with-latest}: it gets the specified upstream release of a package and uses it instead of the currently-packaged version. For example, the command below would spawn GNOME Clocks built against GTK 4.7.0, skipping its test suite: @example guix shell gnome-clocks --with-version=gtk=4.7.0 \\ --without-tests=gtk -- gnome-clocks @end example Run @command{info \"(guix) Package Transformation Options\"} for more info.") (de "Die neue Paketumwandlungsoption @option{--with-version} verallgemeinert @option{--with-latest}: Mit ihr kann man angeben, welche vom Anbieter veröffentlichte Version man anstelle der derzeit im Paket vorgegebenen haben möchte. Zum Beispiel kann mit folgendem Befehl ein für die GTK-Version 4.7.0 erstelltes GNOME Clocks aufgerufen werden, wobei der Testkatalog dafür übersprungen wird. @example guix shell gnome-clocks --with-version=gtk=4.7.0 \\ --without-tests=gtk -- gnome-clocks @end example Führen Sie für mehr Informationen @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus.") (fr "La nouvelle option de transformation de paquets @option{--with-version} généralise @option{--with-latest} : elle permet de spécifier quelle version amont d'un logiciel utiliser à la place de celle actuellement fournie. Par exemple, la commande ci-dessous démarre GNOME Clocks construit avec GTK 4.7.0, sans lancer sa suite de tests : @example guix shell gnome-clocks --with-version=gtk=4.7.0 \\ --without-tests=gtk -- gnome-clocks @end example Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour plus de détails."))) (entry (commit "9ea37eb9f5329c213757bbfe5d9241cde8433858") (title (en "Linux-libre 6.0 removed due to end of upstream support") (de "Linux-libre 6.0 wurde entfernt")) (body (en "The linux-libre 6.0 kernel series has reached the end of its life, and no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Vom Kernel @code{linux-libre} wird die 6.0-Versionsreihe keine Unterstützung von dessen Anbieter mehr erfahren („end of life“). Daher ist es aus GNU Guix entfernt worden."))) (entry (commit "ce8a34bc9ab89f31f107383ba791954864aed372") (title (en "Linux-libre kernel updated to 6.1") (de "Linux-libre-Kernel wird auf 6.1 aktualisiert") (fr "Le noyau linux-libre est mis à jour vers la 6.1") (pt "Kernel linux-libre atualizado para 6.1")) (body (en "The default version of the linux-libre kernel has been updated to the 6.1 release series.") (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert jetzt auf der 6.1-Versionsreihe.") (fr "La version par défaut du noyau linux-libre est mise à jour vers la série des 6.1.") (pt "A versão padrão do kernel linux-libre foi atualizada para a série do kernel 6.1."))) (entry (commit "064c5b7e450f9f6d55cfcd0ec2bc9e96ee0b2958") (title (en "Linux-libre 4.9 removed due to end of upstream support") (de "Linux-libre 4.9 wurde entfernt")) (body (en "The linux-libre 4.9 kernel series has reach the end of its life, and is no longer supported upstream. For this reason, it has been removed from GNU Guix.") (de "Vom Kernel @code{linux-libre} wird die 4.9-Versionsreihe keine Unterstützung von dessen Anbieter mehr erfahren („end of life“). Daher ist es aus GNU Guix entfernt worden."))) (entry (commit "dfc6957a5af7d179d4618eb19d4f555c519bc6f2") (title (en "New @code{customize-linux} procedure") (de "Neue Prozedur @code{customize-linux}") (fr "Nouvelle procédure @code{customize-linux}")) (body (en "The @code{(gnu packages linux)} module includes a new @code{customize-linux} procedure, which should now be used instead of replacing the @samp{\"kconfig\"} native input of a @code{linux-libre}-derived package, as the kernel config file is no longer provided as a native input.") (de "Das Modul @code{(gnu packages linux)} enthält eine neue Prozedur @code{customize-linux}, die von nun an für angepasste Linux-Pakete benutzt werden sollte. Die native Eingabe @samp{\"kconfig\"} eines von @code{linux-libre} abgeleiteten Pakets zu ersetzen, funktioniert nicht mehr, weil die Kernel-Konfigurationsdatei nicht mehr als native Eingabe vorliegt.") (fr "Le module @code{(gnu packages linux)} inclut une nouvelle procédure @code{customize-linux}, qui devrait maintenant être utilisée au lieu de remplacer l'entrée native @samp{\"kconfig\"} d'un paquet dérivé de @code{linux-libre}, car le fichier de configuration du noyau n'est plus fourni en tant qu'entrée native."))) (entry (commit "788602b37ff42f730d4b7b569b0fb51465f147da") (title (en "New @option{--symlink} option for @command{guix shell}") (de "Neue Option @option{--symlink} für @command{guix shell}") (fr "Nouvelle option @option{--symlink} pour @command{guix shell}")) (body (en "The @command{guix shell} command has a new @option{--symlink} (or @option{-S}) option, to be used in conjunction with the @option{--container} (or @option{-C}) option to create a symbolic link inside the container. Run @command{info \"(guix) Invoking guix shell\"} for more information.") (de "Der Befehl @command{guix shell} verfügt jetzt über eine neue Befehlszeilenoption @option{--symlink} (oder @option{-S}), die zusammen mit der Option @option{--container} (oder @option{-C}) benutzt werden kann, um eine symbolische Verknüpfung im Container anzulegen. Führen Sie @command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr zu erfahren.") (fr "La commande @command{guix shell} dispose d'une nouvelle option, @option{--symlink} (ou @option{-S}), qui doit être utilisée en conjonction avec l'option @option{--container} (ou @option{-C}) pour créer un lien symbolique dans le conteneur. Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus d'informations."))) (entry (commit "82a0a395d7051eab7b9f15ec4740d58c86413604") (title (en "Linux-libre kernel updated to 6.0") (de "Linux-libre-Kernel wird auf 6.0 aktualisiert") (fr "Le noyau linux-libre est mis à jour vers la 6.0") (pt "Kernel linux-libre atualizado para 6.0")) (body (en "The default version of the linux-libre kernel has been updated to the 6.0 release series.") (de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert jetzt auf der 6.0-Versionsreihe.") (fr "La version par défaut du noyau linux-libre est mise à jour vers la série des 6.0.") (pt "A versão padrão do kernel linux-libre foi atualizada para a série do kernel 6.0."))) (entry (commit "400a7a4c80efbde1905ae98a298bbb5882d46a0d") (title (en "New build system for Python packages") (de "Neues Erstellungssystem für Python-Pakete") (fr "Nouveau système de construction pour les paquets Python") (pt "Novo sistema de compilação para pacotes Python")) (body (en "A new @var{pyproject-build-system} has been added. This is a redesign of @var{python-build-syst