mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-07 03:34:08 +02:00
Compare commits
74 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 230aa373f3 | |||
| e642300195 | |||
| 4470dd7386 | |||
| 88f0151d9f | |||
| 59c9c36db9 | |||
| c558339893 | |||
| 1d27f4029c | |||
| efec531f5e | |||
| 519524f996 | |||
| cdd0d9c716 | |||
| 30e435371e | |||
| 958ca14f47 | |||
| 2e2f80faba | |||
| b12d80aec3 | |||
| 02840cc74f | |||
| 6e89d38ce8 | |||
| a92a0ddaea | |||
| 6275c911bd | |||
| 93e1f4e363 | |||
| f45b68feb8 | |||
| 60005904e9 | |||
| 32c28c684a | |||
| 00a117d436 | |||
| 6d4cb99a15 | |||
| 010af50497 | |||
| 077aaa1138 | |||
| 2ae3c69679 | |||
| 1232e53526 | |||
| d41f362114 | |||
| b50a7973db | |||
| 7c3fec8a6d | |||
| ea0c0bec5d | |||
| 5ce978fa93 | |||
| e651fdb380 | |||
| a6a0c82d73 | |||
| 79cf0fb7a3 | |||
| 0e4fd181d9 | |||
| ebd886faeb | |||
| f8f2bdc24c | |||
| 333e1e5eda | |||
| 7ad0b7ec2a | |||
| aa0883d233 | |||
| 519210ce80 | |||
| 848fdc7d09 | |||
| a2f6d5c4ab | |||
| d08d7c6e5f | |||
| 74d6654633 | |||
| d32b285b2b | |||
| 542db8304e | |||
| 056dd112aa | |||
| 9448ec6fb2 | |||
| 94f9177cf8 | |||
| ab22501915 | |||
| 84a018b356 | |||
| 0ac92150b1 | |||
| 0afb832a3b | |||
| bb5e506f26 | |||
| 6b44fc4f9b | |||
| 82e58c26db | |||
| 35930066e5 | |||
| 9efc2a690e | |||
| 0e0884eb4f | |||
| 64668f7c15 | |||
| 7c52959ae4 | |||
| 8346bca4e5 | |||
| 395b003094 | |||
| 535ff8ec97 | |||
| d078db3272 | |||
| 9f47269602 | |||
| f75737f42c | |||
| cf005b5107 | |||
| d2a93e6113 | |||
| 7c3185afcb | |||
| cd5fb8ce34 |
+8
-3
@@ -376,6 +376,7 @@ MODULES = \
|
||||
guix/scripts/import/luanti.scm \
|
||||
guix/scripts/import/minetest.scm \
|
||||
guix/scripts/import/npm-binary.scm \
|
||||
guix/scripts/import/nuget.scm \
|
||||
guix/scripts/import/opam.scm \
|
||||
guix/scripts/import/pypi.scm \
|
||||
guix/scripts/import/stackage.scm \
|
||||
@@ -505,7 +506,8 @@ EXAMPLES = \
|
||||
gnu/system/examples/plasma.tmpl \
|
||||
gnu/system/examples/raspberry-pi-64.tmpl \
|
||||
gnu/system/examples/raspberry-pi-64-nfs-root.tmpl \
|
||||
gnu/system/examples/vm-image.tmpl
|
||||
gnu/system/examples/vm-image.tmpl \
|
||||
gnu/system/examples/vm-image-efi.tmpl
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
|
||||
|
||||
@@ -747,7 +749,7 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
|
||||
nodist_selinux_policy_DATA = etc/guix-daemon.cil
|
||||
|
||||
# AppArmor profiles.
|
||||
nodist_apparmor_profile_DATA = \
|
||||
dist_apparmor_profile_DATA = \
|
||||
etc/apparmor.d/guix \
|
||||
etc/apparmor.d/guix-daemon
|
||||
|
||||
@@ -771,9 +773,12 @@ EXTRA_DIST += \
|
||||
build-aux/compile-as-derivation.scm \
|
||||
build-aux/config.rpath \
|
||||
build-aux/convert-xref.scm \
|
||||
build-aux/cuirass/evaluate.scm \
|
||||
build-aux/extract-syscall-ranges.sh \
|
||||
build-aux/generate-authors.scm \
|
||||
build-aux/gitlog-to-changelog \
|
||||
build-aux/git-version-gen \
|
||||
build-aux/keep-only-translated.scm \
|
||||
build-aux/mdate-from-git.scm \
|
||||
build-aux/test-driver.scm \
|
||||
build-aux/update-NEWS.scm \
|
||||
@@ -1185,7 +1190,7 @@ release: all
|
||||
$(MKDIR_P) "$(releasedir)"
|
||||
@echo "Building guix inferior for current commit."
|
||||
COMMIT="$$(git rev-parse HEAD)" && \
|
||||
GUIX="$$(guix time-machine --commit=$$COMMIT)/bin/guix" && \
|
||||
GUIX="$$(guix time-machine -q --commit=$$COMMIT)/bin/guix" && \
|
||||
echo "Building artifacts for current commit: $$COMMIT." && \
|
||||
ARTIFACTS="$$($$GUIX build --no-grafts \
|
||||
-f ./etc/teams/release/artifacts.scm)" && \
|
||||
|
||||
@@ -6,6 +6,7 @@ Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
Copyright © 2021, 2022, 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
@@ -16,8 +17,77 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
* Changes in 1.5.0 (since 1.4.0)
|
||||
** Package management
|
||||
*** New ‘rpm’ format for the ‘guix pack’ command
|
||||
*** New ‘appimage’ format for the ‘guix pack’ command
|
||||
*** New ‘--max-layers’ and ‘--file’ options for the ‘guix pack’ command
|
||||
*** New ‘--roll-back’ and ‘--expression’ options for the ‘guix deploy’ command
|
||||
*** New ‘--with-version’ package transformation option
|
||||
*** New ‘--with-configure-flag’ package transformation option
|
||||
*** New ‘--nesting’ option to use Guix within ‘guix shell’ containers
|
||||
*** New ‘--emulate-fhs’ option for ‘guix shell’ containers
|
||||
*** New ‘--dependents’ and ‘--development’ options for ‘guix build’
|
||||
*** New ‘--interactive’ and ‘--list-types’ flags for ‘guix repl’
|
||||
*** The root file-system of ‘guix shell’ containers is now read-only
|
||||
*** New ‘--writable-root’ option for the ‘guix shell’ command
|
||||
*** Improved style rules for ‘guix style’
|
||||
*** New ‘guix locate’ command
|
||||
*** ‘guix refresh’ now honours the ‘--key-server’ option
|
||||
*** ‘guix git authenticate‘ now remembers introduction commit and signer
|
||||
*** ‘guix git authenticate’ now installs pre-push and post-merge git hooks
|
||||
*** System reconfiguration now supports kexec for fast reboot
|
||||
*** Hetzner Cloud is now supported by the ‘guix deploy’ command
|
||||
*** The Guix Daemon can now be run without root privileges
|
||||
*** ‘guix refresh’ can now target partial version
|
||||
*** New ‘guix import composer’ command
|
||||
*** New ‘guix import binary-npm’ command
|
||||
*** New ‘guix import nuget’ command
|
||||
*** New ‘graphml’ backend for guix graph
|
||||
*** New ‘cyclonedx-json’ backend for guix graph
|
||||
*** AppArmor profiles are now available for guix and guix-daemon
|
||||
** Distribution
|
||||
*** ‘nss-certs’ is now included in ‘%base-packages’
|
||||
*** ‘udev-service-type’ now supports hardware configuration files
|
||||
*** ‘gdm-service-type’ now uses Wayland by default
|
||||
*** KDE Plasma 6.5 is now available with the new ‘plasma-desktop-service-type’
|
||||
*** GNOME was updated to version 44 with a more modular desktop service
|
||||
*** Declarative offloading with new ‘build-machines’ field of operating-system
|
||||
*** ‘containerd-service-type’ is no longer included with the Docker service
|
||||
*** ‘privileged-programs’ replaces ‘setuid-programs’ in ‘operating-system’
|
||||
*** The ‘postgresql’ field of ‘postgresql-configuration‘ is now mandatory
|
||||
*** The Rottlog service was replaced by new ‘log-rotation-service-type’
|
||||
*** The default system log has been changed to Shepherd’s ‘system-log’ service
|
||||
*** New recommended ‘%base-home-services’ variable for Guix Home
|
||||
*** UDisks now mounts removable devices in /run/media/$USER instead of /media
|
||||
*** Syncthing service received incompatible changes
|
||||
*** ‘node-build-system’ received incompatible changes
|
||||
*** New services for /etc/profile.d and /etc/bashrc.d
|
||||
*** New build system for clasp-cl
|
||||
*** New Rust packaging model
|
||||
*** C.utf8 locale is now supported by glibc
|
||||
*** Fully bootstrapped mono and zig are now available
|
||||
*** 64bit Hurd (x86_64-gnu) now has experimental support
|
||||
*** 12525 new packages
|
||||
*** 8911 package updates
|
||||
|
||||
Noteworthy updates:
|
||||
bash 5.2.37, binutils 2.44, clojure 1.12.0, cups 2.4.14, emacs 30.2,
|
||||
gcc-toolchain 15.2.0, gdb 16.3, ghc 9.2.8, gimp 3.0.4, glibc 2.41,
|
||||
gnome 46.10, gnupg 2.4.7, go 1.25.3, guile 3.0.9, icecat 140.6.0-gnu1,
|
||||
icedtea 3.19.0, inkscape 1.3.2, julia 1.8.5, libreoffice 25.2.5.2,
|
||||
linux-libre 6.17.12, lxde 0.99.3, mate 1.28.2, ocaml 5.3.0, octave 10.3.0,
|
||||
openjdk 25, perl 5.36.0, python 3.11.14, racket 8.18, rust 1.85.1, r 4.5.2,
|
||||
sbcl 2.5.8, shepherd 1.0.9, xfce 4.20.0, xorg-server 21.1.21
|
||||
|
||||
** Programming interfaces
|
||||
*** ‘(gnu system setuid)’ has been renamed to ‘(gnu system privilege)’
|
||||
*** Moved to a new Rust packaging model and repackaged all Rust applications
|
||||
*** Rust library packages have been moved to the guix-rust-past-crates channel
|
||||
*** Most Python packages now use the ‘pyproject-build-system’
|
||||
** Noteworthy bug fixes
|
||||
*** Daemon vulnerability allowing store corruption has been fixed
|
||||
*** Daemon vulnerability allowing takeover of build users has been fixed
|
||||
*** Daemon privilege escalation vulnerabilities fixed
|
||||
*** Daemon CVEs have been fixed
|
||||
CVE-2024-27297, CVE-2024-52867, CVE-2025-46415, CVE-2025-46416, CVE-2025-59378
|
||||
* Changes in 1.4.0 (since 1.3.0)
|
||||
** Package management
|
||||
*** New ‘guix home’ command, for home environment management
|
||||
@@ -1926,7 +1996,7 @@ zynaddsubfx@3.0.3, zziplib@0.13.69
|
||||
*** ‘guix pack’ now honors package transformation options
|
||||
*** ‘guix package --search’ no longer shows superseded packages
|
||||
(<https://bugs.gnu.org/30566>)
|
||||
*** ‘guix offload test’ reports errors more nicely
|
||||
*** ‘guix offload test’ reports errors more nicely
|
||||
(<https://bugs.gnu.org/28057>)
|
||||
*** postgresql service is started through ‘pg_ctl’
|
||||
(<https://bugs.gnu.org/29992>)
|
||||
@@ -5664,7 +5734,7 @@ Monad” in the manual.
|
||||
|
||||
*** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
|
||||
*** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
|
||||
*** Substituter progress report properly formatted
|
||||
*** Substituter progress report properly formatted
|
||||
(<http://bugs.gnu.org/19313>)
|
||||
*** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
|
||||
*** Make sure config.go is newer than config.scm
|
||||
@@ -5920,18 +5990,18 @@ This could cause problems with ancient Linux kernel.
|
||||
*** download: Use the 'SERVER NAME' TLS extension when possible
|
||||
(<http://bugs.gnu.org/18526>)
|
||||
*** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
|
||||
*** icu4c: Reinstate RUNPATH on shared libraries
|
||||
*** icu4c: Reinstate RUNPATH on shared libraries
|
||||
(<http://bugs.gnu.org/18695>)
|
||||
*** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
|
||||
*** download: Add "Accept: */*" to the HTTP headers
|
||||
(<http://bugs.gnu.org/18768>)
|
||||
*** guix-register: Do not attempt to create NIX_STORE_DIR
|
||||
*** guix-register: Do not attempt to create NIX_STORE_DIR
|
||||
(<http://bugs.gnu.org/18689>)
|
||||
*** Allow Linux-libre to find our 'modprobe' command
|
||||
(<http://bugs.gnu.org/18525>)
|
||||
*** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
|
||||
*** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
|
||||
*** guix import: pypi: Gracefully handle non-existent packages
|
||||
*** guix import: pypi: Gracefully handle non-existent packages
|
||||
(<http://bugs.gnu.org/18831>)
|
||||
*** Make sure the shared library has the '.so' extension
|
||||
(<http://bugs.gnu.org/18521>)
|
||||
|
||||
@@ -198,6 +198,12 @@ if test "x$have_guile_lzlib" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-semver.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)])
|
||||
if test "x$have_guile_semver" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-semver is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-Avahi.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)])
|
||||
AM_CONDITIONAL([HAVE_GUILE_AVAHI],
|
||||
|
||||
+5
-3
@@ -82,7 +82,7 @@
|
||||
|
||||
(define %latest-guix-version
|
||||
;; Latest released version.
|
||||
"1.4.0")
|
||||
"1.5.0")
|
||||
|
||||
(define (texinfo-manual-images source)
|
||||
"Return a directory containing all the images used by the user manual, taken
|
||||
@@ -777,7 +777,8 @@ in SOURCE."
|
||||
(define version-links
|
||||
(list (menu-item #$latest-version
|
||||
(string-append
|
||||
"/manual/" language
|
||||
"/manual/" #$latest-version
|
||||
"/" language
|
||||
(if split-node? "/html_node" "")))
|
||||
(menu-item "development"
|
||||
(string-append
|
||||
@@ -942,7 +943,8 @@ makeinfo OPTIONS."
|
||||
(let* ((texi (language->texi-file-name language))
|
||||
(opts `("--html"
|
||||
"-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
|
||||
language)
|
||||
#$%latest-guix-version
|
||||
"/" language)
|
||||
#$@options
|
||||
,texi)))
|
||||
(format #t "building HTML manual for language '~a'...~%"
|
||||
|
||||
@@ -138,6 +138,7 @@ version from the Git repository:
|
||||
|
||||
@example
|
||||
git clone https://git.guix.gnu.org/guix.git
|
||||
cd guix
|
||||
@end example
|
||||
|
||||
@cindex authentication, of a Guix checkout
|
||||
@@ -177,6 +178,7 @@ guix shell -D guix -CPW
|
||||
or even, from within a Git worktree for Guix:
|
||||
|
||||
@example
|
||||
echo $(pwd) >> ~/.config/guix/shell-authorized-directories
|
||||
guix shell -CPW
|
||||
@end example
|
||||
|
||||
@@ -184,6 +186,10 @@ If @option{-C} (short for @option{--container}) is not supported on your
|
||||
system, try @command{--pure} instead of @option{-CPW}.
|
||||
@xref{Invoking guix shell}, for more information on that command.
|
||||
|
||||
Most of the test suite runs without an internet connection. The @option{-N}
|
||||
(short for @option{--network}) can be added to the @code{guix shell} command
|
||||
to run the tests that require internet access.
|
||||
|
||||
If you are unable to use Guix when building Guix from a checkout, the
|
||||
following are the required packages in addition to those mentioned in the
|
||||
installation instructions (@pxref{Requirements}).
|
||||
@@ -197,11 +203,11 @@ installation instructions (@pxref{Requirements}).
|
||||
@item @url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
|
||||
@end itemize
|
||||
|
||||
On Guix, extra dependencies can be added by instead running @command{guix
|
||||
shell}:
|
||||
On Guix, other development tools, like @code{strace}, can be included by
|
||||
giving them as extra arguments to @command{guix shell}:
|
||||
|
||||
@example
|
||||
guix shell -D guix help2man git strace --pure
|
||||
guix shell -D guix -CPW strace
|
||||
@end example
|
||||
|
||||
From there you can generate the build system infrastructure
|
||||
|
||||
@@ -1734,8 +1734,8 @@ At this stage, the package @code{cargo-audit} is buildable.
|
||||
|
||||
@item
|
||||
Finally we'll unbundle the vendored dependencies. The lockfile importer
|
||||
inserts @code{TODO:} comments for libraries with high probability of
|
||||
bundled dependencies. @code{cargo-build-system} also performs
|
||||
inserts @code{TODO REVIEW:} comments for libraries with high probability
|
||||
of bundled dependencies. @code{cargo-build-system} also performs
|
||||
additional check for binary files in its
|
||||
@code{check-for-pregenerated-files} phase, which usually indicates
|
||||
bundling:
|
||||
@@ -1909,11 +1909,11 @@ Don't forget to modify all workspace members in @code{(gnu packages
|
||||
rust-crates)}:
|
||||
|
||||
@lisp
|
||||
(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
@dots{}
|
||||
(define rust-libspa-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
@end lisp
|
||||
|
||||
@node Using Rust Libraries in Other Build Systems
|
||||
|
||||
+50
-68
@@ -770,57 +770,43 @@ This section only applies to systems without Guix. Following it for
|
||||
existing Guix installations will overwrite important system files.
|
||||
@end quotation
|
||||
|
||||
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
|
||||
Guix through their own package managers. The version of Guix may be
|
||||
older than @value{VERSION} but you can update it afterwards by running
|
||||
@samp{guix pull}.
|
||||
|
||||
We advise system administrators who install Guix, both from the
|
||||
installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
If you are running Parabola, after enabling the pcr (Parabola
|
||||
Community Repo) repository, you can install Guix with:
|
||||
@example
|
||||
sudo pacman -S guix
|
||||
@end example
|
||||
|
||||
For other package managers with a @var{guix} package, you should be able
|
||||
to install it like any other package.
|
||||
|
||||
The Guix project also provides a shell script, @file{guix-install.sh},
|
||||
which automates the binary installation process without use of a foreign
|
||||
distro package
|
||||
manager@footnote{@uref{https://guix.gnu.org/guix-install.sh}}.
|
||||
The
|
||||
@uref{https://guix.gnu.org/guix-install.sh, @file{guix-install.sh}}
|
||||
shell script automates the binary installation process.
|
||||
Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget,
|
||||
and Xz. On systems where @code{systemd} is detected, the tool
|
||||
@code{newgidmap} from the @code{uidmap} package is also required.
|
||||
and Xz. On systems where systemd is detected, the tool
|
||||
@command{newgidmap} from the @code{uidmap} package is also required.
|
||||
|
||||
The script guides you through the following:
|
||||
|
||||
@itemize
|
||||
@item Downloading and extracting the binary tarball
|
||||
@item Setting up the build daemon
|
||||
@item Making the ‘guix’ command available to non-root users
|
||||
@item Configuring substitute servers
|
||||
@end itemize
|
||||
|
||||
As root, run:
|
||||
To install Guix on top of your GNU/Linux system, run the following
|
||||
commands as root:
|
||||
|
||||
@example
|
||||
# cd /tmp
|
||||
# wget https://guix.gnu.org/guix-install.sh
|
||||
# chmod +x guix-install.sh
|
||||
# ./guix-install.sh
|
||||
cd /tmp
|
||||
wget https://guix.gnu.org/guix-install.sh
|
||||
chmod +x guix-install.sh
|
||||
./guix-install.sh
|
||||
@end example
|
||||
|
||||
The script to install Guix is also packaged in Parabola (in the pcr
|
||||
repository). You can install and run it with:
|
||||
@example
|
||||
sudo pacman -S guix-installer
|
||||
sudo guix-install.sh
|
||||
@end example
|
||||
When you're done installing Guix, @pxref{Application Setup} for extra
|
||||
configuration you might need, and @ref{Getting Started} for your first
|
||||
steps!
|
||||
|
||||
The script goes through the following steps:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Downloading the binary tarball from
|
||||
@indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz}
|
||||
(where @code{x86_64-linux} can be replaced with @code{i686-linux} for an
|
||||
@code{i686} (32-bits) machine already running the kernel Linux, and so
|
||||
on---@pxref{GNU Distribution}) and extracting it.
|
||||
@item
|
||||
Setting up the build daemon (@pxref{Setting Up the Daemon}).
|
||||
@item
|
||||
Making the @command{guix} command available to non-root users.
|
||||
@item
|
||||
Configuring substitute servers (@pxref{Official Substitute Servers}).
|
||||
@end enumerate
|
||||
|
||||
@quotation Note
|
||||
By default, @file{guix-install.sh} will configure Guix to download
|
||||
@@ -837,17 +823,13 @@ To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
|
||||
For example,
|
||||
|
||||
@example
|
||||
# guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
|
||||
# guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
|
||||
guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
|
||||
guix archive --authorize < \
|
||||
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
|
||||
@end example
|
||||
@end quotation
|
||||
|
||||
When you're done installing Guix, @pxref{Application Setup} for extra
|
||||
configuration you might need, and @ref{Getting Started} for your first
|
||||
steps!
|
||||
|
||||
@quotation Note
|
||||
The binary installation tarball can be (re)produced and verified simply
|
||||
by running the following command in the Guix source tree:
|
||||
@@ -879,6 +861,16 @@ the @option{--uninstall} flag:
|
||||
With @option{--uninstall}, the script irreversibly deletes all the Guix
|
||||
files, configuration, and services.
|
||||
|
||||
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
|
||||
Guix through their own package managers. The version of Guix may be
|
||||
older than @value{VERSION} but you can update it afterwards by running
|
||||
@command{guix pull}.
|
||||
|
||||
We advise system administrators who install Guix, both from the
|
||||
installation script or @i{via} the native package manager of their
|
||||
foreign distribution, to also regularly read and follow security
|
||||
notices, as shown by @command{guix pull}.
|
||||
|
||||
@node Setting Up the Daemon
|
||||
@section Setting Up the Daemon
|
||||
|
||||
@@ -2157,8 +2149,9 @@ systemctl restart guix-daemon.service
|
||||
|
||||
While this works for @file{guix-install.sh}, it will most likely not
|
||||
work if you installed Guix through the package manager of another
|
||||
distribution (for instance with sudo apt install guix, pacman -S guix,
|
||||
etc) because on many distributions @file{guix-daemon.service} will only
|
||||
distribution (for instance with @command{sudo apt install guix},
|
||||
@command{pacman -S guix}, or similar commands)
|
||||
because on many distributions @file{guix-daemon.service} will only
|
||||
run the Guix daemon provided by the distribution.
|
||||
|
||||
Waiting for your distribution to provide security fixes sometimes work,
|
||||
@@ -18941,8 +18934,8 @@ given location at the time of the unlock attempt.
|
||||
;; Following definition would be equivalent to running:
|
||||
;; cryptsetup open --key-file /crypto.key /dev/sdb1 data
|
||||
(mapped-device
|
||||
(source "/dev/sdb1)
|
||||
(target "data)
|
||||
(source "/dev/sdb1")
|
||||
(target "data")
|
||||
(type luks-device-mapping)
|
||||
(arguments '(#:key-file "/crypto.key")))
|
||||
@end lisp
|
||||
@@ -24875,7 +24868,6 @@ example the @code{windowmaker} or @code{openbox} packages---preferably
|
||||
by adding it to the @code{packages} field of your operating system
|
||||
definition (@pxref{operating-system Reference, system-wide packages}).
|
||||
|
||||
@anchor{wayland-gdm}
|
||||
GDM also supports Wayland: it can itself use Wayland instead of X11 for
|
||||
its user interface, and it can also start Wayland sessions. Wayland
|
||||
support is enabled by default. To disable it, set @code{wayland?} to
|
||||
@@ -26388,16 +26380,6 @@ special-purpose system interfaces and programs. This allows backlight
|
||||
adjustment helpers, power management utilities, screen lockers, and
|
||||
other integrated functionality to work as expected.
|
||||
|
||||
The desktop environments in Guix use the Xorg display server by
|
||||
default. If you'd like to use the newer display server protocol
|
||||
called Wayland, you need to enable Wayland support in GDM
|
||||
(@pxref{wayland-gdm}). Another solution is to use the
|
||||
@code{sddm-service} instead of GDM as the graphical login manager.
|
||||
You should then select the ``GNOME (Wayland)'' session in SDDM@.
|
||||
Alternatively you can also try starting GNOME on Wayland manually from a
|
||||
TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session
|
||||
gnome-session``. Currently only GNOME has support for Wayland.
|
||||
|
||||
@defvar gnome-desktop-service-type
|
||||
This is the type of the service that adds the @uref{https://www.gnome.org,
|
||||
GNOME} desktop environment. Its value is a @code{gnome-desktop-configuration}
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
|
||||
# Further modified by Tomas Volf <~@wolfsden.cz>.
|
||||
|
||||
htmlxrefversion=2025-11-29.21; # UTC
|
||||
htmlxrefversion=2026-01-19.08; # UTC
|
||||
|
||||
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
|
||||
#
|
||||
@@ -416,7 +416,7 @@ guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html
|
||||
guile-rpc node ${GS}/guile-rpc/manual/html_node/
|
||||
|
||||
GUIX_ROOT = https://guix.gnu.org
|
||||
GUIX = ${GUIX_ROOT}/manual
|
||||
GUIX = ${GUIX_ROOT}/manual/1.5.0
|
||||
guix.de mono ${GUIX}/de/guix.de.html
|
||||
guix.de node ${GUIX}/de/html_node/
|
||||
guix.es mono ${GUIX}/es/guix.es.html
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ include <tunables/guix>
|
||||
|
||||
# There’s no point in confining the guix executable, since it can run
|
||||
# any user code and so everything is expected. We just need to
|
||||
# explicitely enable userns for systems with the
|
||||
# explicitly enable userns for systems with the
|
||||
# kernel.apparmor_restrict_unprivileged_userns sysctl.
|
||||
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
|
||||
userns,
|
||||
|
||||
+4
-3
@@ -110,6 +110,7 @@ GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
|
||||
declare -A GPG_SIGNING_KEYS
|
||||
GPG_SIGNING_KEYS["civodul"]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
|
||||
GPG_SIGNING_KEYS["apteryx"]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
|
||||
GPG_SIGNING_KEYS["efraim"]=A28BF40C3E551372662D14F741AAE7DCCA3D8351 # efraim
|
||||
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
@@ -777,7 +778,7 @@ sys_create_init_profile()
|
||||
cat <<"EOF" > /etc/profile.d/zzz-guix.sh
|
||||
# Explicitly initialize XDG base directory variables to ease compatibility
|
||||
# with Guix System: see <https://issues.guix.gnu.org/56050#3>.
|
||||
export XCURSOR_PATH="${XCURSOR_PATH:-/usr/local/share/icons:/usr/share/icons}"
|
||||
export XCURSOR_PATH="${XCURSOR_PATH:-$HOME/.local/share/icons:$HOME/.icons:/usr/local/share/icons:/usr/share/icons}"
|
||||
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
|
||||
@@ -793,8 +794,8 @@ export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
|
||||
# info and man readers. When INFOPATH is unset, add a trailing colon so Emacs
|
||||
# searches 'Info-default-directory-list'. When MANPATH is unset, add a
|
||||
# trailing colon so the system default search path is used.
|
||||
export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
|
||||
export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
|
||||
export INFOPATH="$GUIX_PROFILE/share/info:${INFOPATH:-}"
|
||||
export MANPATH="$GUIX_PROFILE/share/man:${MANPATH:-}"
|
||||
|
||||
# User's default profile, if it exists
|
||||
GUIX_PROFILE="$HOME/.guix-profile"
|
||||
|
||||
@@ -42,6 +42,26 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "6d4cb99a15da7f4fd55f956c55f4f4aacfcc7742")
|
||||
(title
|
||||
(en "@code{%desktop-services} now includes GDM on AArch64"))
|
||||
(body
|
||||
(en "On Guix System in an operating system configuration, your value for the
|
||||
@code{services} field is based on @code{%desktop-services} for desktop
|
||||
machines.
|
||||
|
||||
The @code{%desktop-services} contains a login manager that is
|
||||
architecture-dependent. Previously, GDM has been used on x86_64 and SDDM on
|
||||
other architectures.
|
||||
|
||||
Now, GDM is used on all 64-bit architectures. This affects only AArch64 in
|
||||
the end, as other 64-bit architectures aren't mature enough to use
|
||||
%desktop-services, yet.
|
||||
|
||||
In case you're on AArch64 and you've changed the login manager, you will have
|
||||
to adapt your config to remove @code{gdm-service-type} instead of
|
||||
@code{sddm-service-type}.")))
|
||||
|
||||
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
|
||||
(title
|
||||
(en "Linux-libre 5.4 no longer supported")
|
||||
|
||||
@@ -187,7 +187,7 @@ configuration.scm."
|
||||
(package-arguments guix)))))
|
||||
|
||||
;; NOTE: Normally, we would use (current-guix), along with url
|
||||
;; overriden to the upstream repository to not leak our local checkout.
|
||||
;; overridden to the upstream repository to not leak our local checkout.
|
||||
;; But currently, the (current-guix) derivation has to be computed through
|
||||
;; QEMU for systems other than your host system. This takes a lot of time,
|
||||
;; it takes at least half an hour to get the derivations.
|
||||
@@ -287,6 +287,7 @@ provenance."
|
||||
(image
|
||||
(inherit base-image)
|
||||
(volatile-root? #f)
|
||||
(size (* 20 (expt 1024 3))) ; 20 GiB to have spare space
|
||||
(name (string->symbol name))))))))
|
||||
|
||||
(define* (guix-source-tarball)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module ((gnu packages rust-sources) #:prefix package:)
|
||||
#:export (lookup-cargo-inputs))
|
||||
|
||||
;;;
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
;;; Copyright © 2023-2024 Herman Rimm <herman@rimm.ee>
|
||||
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2025 dan <i@dan.games>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -64,7 +65,12 @@
|
||||
((? string?)
|
||||
(list #~(install-file (string-append bootloader #$file)
|
||||
install-dir)))
|
||||
((? file-like?) (list #~(install-file #$file install-dir)))
|
||||
((? file-like?)
|
||||
(list #~(mkdir-p install-dir)
|
||||
#~(copy-file #$file
|
||||
(string-append install-dir
|
||||
"/"
|
||||
#$(plain-file-name file)))))
|
||||
(#f '()))))
|
||||
#~(lambda (bootloader device mount-point)
|
||||
(let ((install-dir (string-append mount-point "/boot")))
|
||||
@@ -132,7 +138,12 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given."
|
||||
;; starfive_visionfive2.dtb. We cannot guarantee that users will
|
||||
;; update this U-Boot, so set the FDT explicitly.
|
||||
(plain-file "uEnv.txt"
|
||||
"fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%")))
|
||||
(string-join
|
||||
(list
|
||||
"boot_targets=mmc1 nvme0 mmc0 dhcp"
|
||||
"bootcmd_mmc1=bootflow scan"
|
||||
"fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb")
|
||||
"\n"))))
|
||||
|
||||
|
||||
;;;
|
||||
|
||||
@@ -46,7 +46,26 @@
|
||||
make-static-device-nodes
|
||||
configure-qemu-networking
|
||||
|
||||
boot-system))
|
||||
boot-system
|
||||
|
||||
linux-console
|
||||
|
||||
linux-console?
|
||||
linux-console-device
|
||||
linux-console-can-read?
|
||||
linux-console-can-write?
|
||||
linux-console-can-unblank?
|
||||
linux-console-enabled?
|
||||
linux-console-preferred?
|
||||
linux-console-primary?
|
||||
linux-console-printk?
|
||||
linux-console-braille?
|
||||
linux-console-safe-when-cpu-offline?
|
||||
linux-console-major
|
||||
linux-console-minor
|
||||
linux-console-virtual?
|
||||
|
||||
read-linux-consoles))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
@@ -675,4 +694,56 @@ the root file system...\n" root-delay)
|
||||
(start-repl)))))
|
||||
#:on-error on-error))
|
||||
|
||||
(define-record-type <linux-console>
|
||||
(make-linux-console device can-read? can-write? can-unblank?
|
||||
enabled? preferred? primary? printk? braille?
|
||||
safe-when-cpu-offline? major minor virtual?)
|
||||
linux-console?
|
||||
(device linux-console-device)
|
||||
(can-read? linux-console-can-read?)
|
||||
(can-write? linux-console-can-write?)
|
||||
(can-unblank? linux-console-can-unblank?)
|
||||
(enabled? linux-console-enabled?)
|
||||
(preferred? linux-console-preferred?)
|
||||
(primary? linux-console-primary?)
|
||||
(printk? linux-console-printk?)
|
||||
(braille? linux-console-braille?)
|
||||
(safe-when-cpu-offline? linux-console-safe-when-cpu-offline?)
|
||||
(major linux-console-major)
|
||||
(minor linux-console-minor)
|
||||
(virtual? linux-console-virtual?))
|
||||
|
||||
(define* (read-linux-consoles #:optional (consoles-file "/proc/consoles"))
|
||||
"Parses CONSOLES-FILE and returns a list of <linux-console> records."
|
||||
(if (not (file-exists? consoles-file))
|
||||
'()
|
||||
(with-input-from-file consoles-file
|
||||
(lambda ()
|
||||
(let ((line-regex (make-regexp
|
||||
"^([^ ]+)[ ]+(.+)[ ]+([0-9]+):([0-9]+)$"))
|
||||
(virt-regex (make-regexp "^tty[0-9]+$")))
|
||||
(let loop ((line (read-line))
|
||||
(results '()))
|
||||
(cond
|
||||
((eof-object? line)
|
||||
(reverse results))
|
||||
((regexp-exec line-regex line)
|
||||
=> (lambda (m)
|
||||
(let* ((dev (match:substring m 1))
|
||||
(flags (match:substring m 2))
|
||||
(major (string->number (match:substring m 3)))
|
||||
(minor (string->number (match:substring m 4)))
|
||||
(virtual? (regexp-exec virt-regex dev))
|
||||
(has? (lambda (c)
|
||||
(string-any (lambda (f) (char=? f c)) flags))))
|
||||
(loop (read-line)
|
||||
(cons (make-linux-console
|
||||
dev
|
||||
(has? #\R) (has? #\W) (has? #\U) (has? #\E)
|
||||
(has? #\C) (has? #\B) (has? #\p) (has? #\b)
|
||||
(has? #\a)
|
||||
major minor virtual?)
|
||||
results)))))
|
||||
(else (loop (read-line) results)))))))))
|
||||
|
||||
;;; linux-boot.scm ends here
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024,2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -168,8 +168,10 @@ or #f. Return #t on success and #f on failure."
|
||||
(const '())))
|
||||
(install-command (append `( "guix" "system" "init"
|
||||
"--fallback"
|
||||
,@(if (target-hurd?)
|
||||
'("--target=i586-pc-gnu")
|
||||
,@(if (%current-target-system)
|
||||
`(,(string-append
|
||||
"--target="
|
||||
(%current-target-system)))
|
||||
'()))
|
||||
options
|
||||
(list (%installer-configuration-file)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,7 +27,8 @@
|
||||
str)
|
||||
|
||||
(define (kernel->configuration kernel dry-run?)
|
||||
(if (equal? kernel "Hurd")
|
||||
(if (and (string? kernel)
|
||||
(string-prefix? "Hurd" kernel))
|
||||
`((kernel %hurd-default-operating-system-kernel)
|
||||
,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
|
||||
(kernel-arguments '("noide"))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -23,23 +23,48 @@
|
||||
#:export (run-kernel-page))
|
||||
|
||||
(define (run-kernel-page)
|
||||
(let* ((kernels `(,@(if (target-x86?) '("Hurd") '())
|
||||
"Linux Libre"))
|
||||
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
|
||||
(let* ((hurd-x86 (G_ "Hurd 32-bit (experimental)"))
|
||||
(hurd-x86_64 (G_ "Hurd 64-bit (highly experimental!)"))
|
||||
(linux-libre "Linux Libre")
|
||||
(kernels (parameterize ((%current-target-system #f))
|
||||
`(,linux-libre
|
||||
,@(cond ((target-x86-64?)
|
||||
(list hurd-x86 hurd-x86_64))
|
||||
((target-x86?)
|
||||
(list hurd-x86))
|
||||
(else
|
||||
'())))))
|
||||
(default (cond ((equal? (%current-target-system) "i586-pc-gnu")
|
||||
hurd-x86)
|
||||
((equal? (%current-target-system) "x86_64-pc-gnu")
|
||||
hurd-x86_64)
|
||||
(else
|
||||
linux-libre)))
|
||||
(result
|
||||
(run-listbox-selection-page
|
||||
#:title (G_ "Kernel")
|
||||
#:info-text
|
||||
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
|
||||
;; TRANSLATORS: "Linux Libre" is a literal and must not be translated.
|
||||
(G_ "Please select a kernel. When in doubt, choose \"Linux Libre\".
|
||||
|
||||
The Hurd is offered as a technology preview and development aid; many packages \
|
||||
are not yet available in Guix, such as a desktop environment or even a windowing \
|
||||
system (X, Wayland).")
|
||||
are not yet available in Guix, such as a desktop environment or even a \
|
||||
windowing system (X, Wayland).")
|
||||
#:listbox-items kernels
|
||||
#:listbox-item->text identity
|
||||
#:listbox-default-item "Linux Libre"
|
||||
#:listbox-default-item default
|
||||
#:sort-listbox-items? #f ;keep Linux first
|
||||
#:button-text (G_ "Back")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
(when (equal? result "Hurd")
|
||||
(%current-target-system "i586-pc-gnu"))
|
||||
(let ((target (cond ((equal? result hurd-x86)
|
||||
"i586-pc-gnu")
|
||||
((equal? result hurd-x86_64)
|
||||
"x86_64-pc-gnu")
|
||||
(else
|
||||
#f))))
|
||||
(%current-target-system target))
|
||||
result))
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
@@ -112,20 +113,24 @@ network devices were found. Do you want to continue anyway?"))
|
||||
full-value
|
||||
(+ value 1)))))))
|
||||
|
||||
(define (url-alive? url)
|
||||
(define* (url-alive? url #:key (ensure-ok-status? #f))
|
||||
(false-if-exception
|
||||
(begin
|
||||
(http-request url)
|
||||
#t)))
|
||||
(let ((response (http-request url)))
|
||||
(or (not ensure-ok-status?)
|
||||
(= (response-code response)
|
||||
200)))))
|
||||
|
||||
(define (common-urls-alive? urls)
|
||||
(define* (common-urls-alive? urls #:key (ensure-ok-status? #f))
|
||||
"Return #t if at least some of the given URLS are alive,
|
||||
meaning that they do respond to a HTTP request. If ENSURE-OK-STATUS? is
|
||||
#t, return #t only if the code is 200."
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(sigaction SIGALRM
|
||||
(lambda _ #f))
|
||||
(alarm 3))
|
||||
(lambda ()
|
||||
(any url-alive?
|
||||
(any (cut url-alive? <> #:ensure-ok-status? ensure-ok-status?)
|
||||
urls))
|
||||
(lambda ()
|
||||
(alarm 0))))
|
||||
@@ -140,7 +145,9 @@ FULL-VALUE tentatives, spaced by 1 second."
|
||||
"https://bordeaux.guix.gnu.org"
|
||||
"https://ci.guix.gnu.org"
|
||||
"https://guix.gnu.org"
|
||||
"https://gnu.org")))
|
||||
"https://gnu.org")
|
||||
;; Any HTTP response means the users is online.
|
||||
#:ensure-ok-status? #f))
|
||||
(file-exists? "/tmp/installer-assume-online")))
|
||||
|
||||
(let* ((full-value 5))
|
||||
@@ -173,7 +180,8 @@ Do you want to continue anyway?"))
|
||||
(common-urls-alive?
|
||||
(list
|
||||
"https://bordeaux.guix.gnu.org/nix-cache-info"
|
||||
"https://ci.guix.gnu.org/nix-cache-info"))))
|
||||
"https://ci.guix.gnu.org/nix-cache-info")
|
||||
#:ensure-ok-status? #t)))
|
||||
|
||||
(let* ((full-value 5))
|
||||
(run-scale-page
|
||||
|
||||
@@ -108,20 +108,23 @@ all data on disk will be lost, are you sure you want to proceed?") item)
|
||||
|
||||
(define (run-label-page button-text button-callback)
|
||||
"Run a page asking the user to select a partition table label."
|
||||
;; Force the GPT label if UEFI is supported.
|
||||
(if (efi-installation?)
|
||||
((run-label-confirmation-page button-callback) "gpt")
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Select a new partition table type. \
|
||||
;; Force the GPT label if UEFI is supported.
|
||||
(cond ((efi-installation?)
|
||||
((run-label-confirmation-page button-callback) "gpt"))
|
||||
;; Force the MSDOS label on Hurd.
|
||||
((target-hurd?)
|
||||
((run-label-confirmation-page button-callback) "msdos"))
|
||||
(else (run-listbox-selection-page
|
||||
#:info-text (G_ "Select a new partition table type. \
|
||||
Be careful, all data on the disk will be lost.")
|
||||
#:title (G_ "Partition table")
|
||||
#:listbox-items '("msdos" "gpt")
|
||||
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
|
||||
#:listbox-item->text identity
|
||||
#:listbox-callback-procedure
|
||||
(run-label-confirmation-page button-callback)
|
||||
#:button-text button-text
|
||||
#:button-callback-procedure button-callback)))
|
||||
#:title (G_ "Partition table")
|
||||
#:listbox-items '("msdos" "gpt")
|
||||
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
|
||||
#:listbox-item->text identity
|
||||
#:listbox-callback-procedure
|
||||
(run-label-confirmation-page button-callback)
|
||||
#:button-text button-text
|
||||
#:button-callback-procedure button-callback))))
|
||||
|
||||
(define (run-type-page partition)
|
||||
"Run a page asking the user to select a partition type."
|
||||
|
||||
@@ -36,11 +36,9 @@
|
||||
environments."
|
||||
(let ((items (filter desktop-system-service? (%system-services))))
|
||||
(run-checkbox-tree-page
|
||||
#:info-text (if (target-hurd?)
|
||||
(G_ "Currently, none of these is available for the Hurd.")
|
||||
(G_ "Please select the desktop environment(s) you wish to \
|
||||
#:info-text (G_ "Please select the desktop environment(s) you wish to \
|
||||
install. If you select multiple desktop environments here, you will be able \
|
||||
to choose from them later when you log in."))
|
||||
to choose from them later when you log in.")
|
||||
#:title (G_ "Desktop environment")
|
||||
#:items items
|
||||
#:selection (map system-service-recommended? items)
|
||||
@@ -50,6 +48,16 @@ to choose from them later when you log in."))
|
||||
(lambda ()
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
;; FIXME: all platforms should support %desktop-services and some of the
|
||||
;; offered desktop environments. Instead of globally disabling the desktop
|
||||
;; page, disable only non-working desktop environments.
|
||||
(define (run-desktop-environments-cbt-page/maybe)
|
||||
"Run page with desktop environments, as long as the user is on
|
||||
a system that supports them."
|
||||
(if (or (target-hurd?) (target-x86-32?))
|
||||
'()
|
||||
(run-desktop-environments-cbt-page)))
|
||||
|
||||
(define (run-networking-cbt-page)
|
||||
"Run a page allowing the user to select networking services."
|
||||
(let ((items (filter (lambda (service)
|
||||
@@ -131,7 +139,7 @@ client may be enough for a server.")
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-services-page)
|
||||
(let ((desktop (run-desktop-environments-cbt-page)))
|
||||
(let ((desktop (run-desktop-environments-cbt-page/maybe)))
|
||||
;; When the user did not select any desktop services, and thus didn't get
|
||||
;; '%desktop-services', offer network management services.
|
||||
(append desktop
|
||||
|
||||
+9
-1
@@ -1175,6 +1175,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/dhclient-script-resolvconf-support.patch \
|
||||
%D%/packages/patches/dicedb-remove-init-from-config-subpkg.patch \
|
||||
%D%/packages/patches/directfb-davinci-glibc-228-compat.patch \
|
||||
%D%/packages/patches/django-compressor-build-with-beautifulsoup-4.14+.patch \
|
||||
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
|
||||
%D%/packages/patches/doc++-gcc-14.patch \
|
||||
%D%/packages/patches/docbook-utils-documentation-edits.patch \
|
||||
@@ -1208,6 +1209,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elixir-httpoison-tag-network-dependent-test-cases.patch \
|
||||
%D%/packages/patches/elixir-path-length.patch \
|
||||
%D%/packages/patches/elm-ghc9.2.patch \
|
||||
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
|
||||
@@ -1247,7 +1249,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ergodox-firmware-fix-numpad.patch \
|
||||
%D%/packages/patches/ericw-tools-add-check-for-sse2-in-light.cc.patch \
|
||||
%D%/packages/patches/ericw-tools-gcc-11-pass-const-to-offsetof.patch \
|
||||
%D%/packages/patches/erlang-binpp-disable-failing-tests.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
%D%/packages/patches/erlang-mochiweb-disable-known-to-fail-tests.patch \
|
||||
%D%/packages/patches/esmini-use-pkgconfig.patch \
|
||||
%D%/packages/patches/esmtp-add-lesmtp.patch \
|
||||
%D%/packages/patches/esound-c99.patch \
|
||||
@@ -1323,7 +1327,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/freeimage-CVE-2020-21428.patch \
|
||||
%D%/packages/patches/freeimage-CVE-2020-22524.patch \
|
||||
%D%/packages/patches/freerdp-3.16.0-rpath.patch \
|
||||
%D%/packages/patches/freesolid-automake.patch \
|
||||
%D%/packages/patches/freesolid-autotools.patch \
|
||||
%D%/packages/patches/freesolid-configure.patch \
|
||||
@@ -1682,6 +1685,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
|
||||
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
|
||||
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
|
||||
%D%/packages/patches/librewolf-compare-paths.patch \
|
||||
%D%/packages/patches/librewolf-neuter-locale-download.patch \
|
||||
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
|
||||
%D%/packages/patches/libvirt-add-install-prefix.patch \
|
||||
@@ -1692,6 +1696,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lightdm-vnc-ipv6.patch \
|
||||
%D%/packages/patches/lightdm-vnc-color-depth.patch \
|
||||
%D%/packages/patches/lightdm-vncserver-check.patch \
|
||||
%D%/packages/patches/linphone-desktop-cmake-belcard.patch \
|
||||
%D%/packages/patches/linphone-desktop-cmake-find-modules.patch \
|
||||
%D%/packages/patches/localed-xorg-keyboard.patch \
|
||||
%D%/packages/patches/kaldi-ignore-failing-test.patch \
|
||||
%D%/packages/patches/kaldi-openblas-0.3.29-compatibility.patch \
|
||||
@@ -2211,6 +2217,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qemu-glibc-2.30.patch \
|
||||
%D%/packages/patches/qemu-fix-agent-paths.patch \
|
||||
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
|
||||
%D%/packages/patches/qemu-disable-aarch64-migration-test.patch \
|
||||
%D%/packages/patches/qrcodegen-cpp-cmake.patch \
|
||||
%D%/packages/patches/qtbase-absolute-runpath.patch \
|
||||
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
|
||||
@@ -2294,6 +2301,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
|
||||
%D%/packages/patches/sbcl-ciel-repl.patch \
|
||||
%D%/packages/patches/sbcl-clml-fix-types.patch \
|
||||
%D%/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch \
|
||||
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
|
||||
%D%/packages/patches/sbcl-lack-fix-tests.patch \
|
||||
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
|
||||
|
||||
@@ -2524,7 +2524,7 @@ system administrator.")
|
||||
(inputs
|
||||
(append (list coreutils zlib)
|
||||
(if (target-hurd?)
|
||||
'()
|
||||
(list libxcrypt)
|
||||
(list linux-pam))))
|
||||
(home-page "https://www.sudo.ws/")
|
||||
(synopsis "Run commands as root")
|
||||
|
||||
@@ -2039,7 +2039,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
# CONFIG_SCSI_VIRTIO is not set
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# end of SCSI device support
|
||||
|
||||
|
||||
@@ -1670,6 +1670,27 @@ SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt.")
|
||||
(home-page "https://github.com/besser82/libxcrypt")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public libxcrypt-without-failure-tokens
|
||||
;; This version of libxcrypt is used for guile-2.2.4, which is used in Guix
|
||||
;; v1.0.0 and thus needs to be supported for guix time-machine.
|
||||
;;
|
||||
;; Guile uses the 'crypt' hashing function that used to be provided by glibc,
|
||||
;; but was moved to libxcrypt around glibc 2.39. However, the crypt function
|
||||
;; in libxcrypt works differently for invalid salt values: libxcrypt returnns
|
||||
;; the failure token "*0" for (crypt "pass" "$X$abc"), where glibc raised
|
||||
;; "Invalid argument" (EINVAL). The --disable-failure-tokens flag lets
|
||||
;; libxcrypt behave in the same way as glibc.
|
||||
;;
|
||||
;; Guile 2.2.4 explicitly checks for the glibc behavior of crypt, and thus
|
||||
;; needs libxcrypt to be compiled with --disable-failure-tokens.
|
||||
(hidden-package
|
||||
(package/inherit libxcrypt
|
||||
(name "libxcrypt-without-failure-tokens")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments libxcrypt)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons* "--disable-failure-tokens" #$flags)))))))
|
||||
|
||||
(define-public keychain
|
||||
(package
|
||||
(name "keychain")
|
||||
|
||||
@@ -719,34 +719,34 @@ from a mounted file system.")
|
||||
(home-page "http://www.gphoto.org/proj/gphotofs/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define bcachefs-tools-rust-target
|
||||
(define (bcachefs-tools-rust-target)
|
||||
(platform-rust-target (lookup-platform-by-target-or-system
|
||||
(or (%current-target-system)
|
||||
(%current-system)))))
|
||||
|
||||
(define bcachefs-tools-target/release
|
||||
(string-append "target/" bcachefs-tools-rust-target "/release"))
|
||||
(define (bcachefs-tools-target/release)
|
||||
(string-append "target/" (bcachefs-tools-rust-target) "/release"))
|
||||
|
||||
(define bcachefs-tools-cargo-args
|
||||
(define (bcachefs-tools-cargo-args)
|
||||
;; Distinct from -MAKE-FLAGS for use with ‘cargo test’ in 'check.
|
||||
#~(list "--release"
|
||||
(string-append "--target=" #$bcachefs-tools-rust-target)))
|
||||
(string-append "--target=" #$(bcachefs-tools-rust-target))))
|
||||
|
||||
;; XXX We want to share common make flags across different packages & phases,
|
||||
;; but the cargo-build-system doesn't allow #:make-flags.
|
||||
(define bcachefs-tools-make-flags
|
||||
(define (bcachefs-tools-make-flags)
|
||||
;; These result of these flags should be as minimal as possible.
|
||||
;; Enable any optional features in the bcachefs-tools package instead.
|
||||
#~(list (string-append "CARGO_BUILD_ARGS="
|
||||
(string-join #$bcachefs-tools-cargo-args " "))
|
||||
(string-join #$(bcachefs-tools-cargo-args) " "))
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))))
|
||||
|
||||
(define bcachefs-tools-make-install-flags
|
||||
(define (bcachefs-tools-make-install-flags)
|
||||
#~(cons* (string-append "PREFIX=" #$output)
|
||||
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
|
||||
"PKGCONFIG_UDEVRULESDIR=$(PREFIX)/lib/udev/rules.d"
|
||||
#$bcachefs-tools-make-flags))
|
||||
#$(bcachefs-tools-make-flags)))
|
||||
|
||||
(define bcachefs-tools-minimal
|
||||
;; This ‘minimal’ package is not *that* minimal, and not different enough to
|
||||
@@ -782,7 +782,7 @@ from a mounted file system.")
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
(string-append "VERSION=" #$version)
|
||||
#$bcachefs-tools-make-flags)))
|
||||
#$(bcachefs-tools-make-flags))))
|
||||
(add-before 'install 'patch-install
|
||||
;; ‘make install’ hard-codes target/release/bcachefs, which is
|
||||
;; incorrect when passing --target, as required to cross-compile or
|
||||
@@ -790,11 +790,11 @@ from a mounted file system.")
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("target/release")
|
||||
#$bcachefs-tools-target/release))))
|
||||
#$(bcachefs-tools-target/release)))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(apply invoke "make" "install"
|
||||
#$bcachefs-tools-make-install-flags))))))
|
||||
#$(bcachefs-tools-make-install-flags)))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
@@ -851,7 +851,7 @@ performance and other characteristics.")
|
||||
(define bcachefs
|
||||
(or (false-if-exception (search-input-file native-inputs
|
||||
"sbin/bcachefs"))
|
||||
(string-append #$bcachefs-tools-target/release
|
||||
(string-append #$(bcachefs-tools-target/release)
|
||||
"/bcachefs")))
|
||||
|
||||
(define (output-completions shell file)
|
||||
@@ -905,16 +905,16 @@ performance and other characteristics.")
|
||||
"1")
|
||||
(string-append "VERSION="
|
||||
#$(package-version this-package))
|
||||
#$bcachefs-tools-make-flags)))
|
||||
#$(bcachefs-tools-make-flags))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(apply invoke "cargo" "test" #$bcachefs-tools-cargo-args))))
|
||||
(apply invoke "cargo" "test" #$(bcachefs-tools-cargo-args)))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(apply invoke "make" "install"
|
||||
(string-append "PREFIX=" #$output)
|
||||
#$bcachefs-tools-make-install-flags)))))))
|
||||
#$(bcachefs-tools-make-install-flags))))))))
|
||||
(inputs (modify-inputs (package-inputs bcachefs-tools-minimal)
|
||||
(prepend `(,eudev "static")
|
||||
`(,keyutils "static")
|
||||
|
||||
+12
-9
@@ -335,18 +335,21 @@ without requiring the source code to be rewritten.")
|
||||
(files '("lib/guile/2.2/site-ccache")))))))
|
||||
|
||||
(define-public guile-2.2.4
|
||||
;; This has no dependencies, but is used in (guix quirks).
|
||||
;; guile-2.2.4 has no dependents, but is used in (guix quirks).
|
||||
;; Do not remove!
|
||||
(package
|
||||
(inherit guile-2.2)
|
||||
(version "2.2.4")
|
||||
(source (origin
|
||||
(inherit (package-source guile-2.2))
|
||||
(uri (string-append "mirror://gnu/guile/guile-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
|
||||
(version "2.2.4")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source guile-2.2))
|
||||
(uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))
|
||||
;; libxcrypt-without-failure-tokens uses --disable-failure-tokens, which is
|
||||
;; necessary for the "crypt: glibc EINVAL" test of guile-2.2.4.
|
||||
(inputs (modify-inputs (package-inputs guile-2.2)
|
||||
(replace "libxcrypt" libxcrypt-without-failure-tokens)))))
|
||||
|
||||
(define-public guile-3.0
|
||||
;; This is the latest Guile stable version.
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
@@ -594,6 +595,7 @@ exec ${system}/rc \"$@\"
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt) ;for /hurd/random
|
||||
("libdaemon" ,libdaemon) ;for /bin/console --daemonize
|
||||
("libxcrypt" ,libxcrypt) ;for password hashing
|
||||
("unifont" ,unifont)
|
||||
("libpciaccess" ,libpciaccess-static)
|
||||
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? (and (not (%current-target-system))
|
||||
(not (target-arm32?)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-thp-test
|
||||
|
||||
@@ -1475,7 +1475,7 @@ you login.")
|
||||
#:test-exclude
|
||||
(string-append "("
|
||||
(string-join
|
||||
'(;; Fails on an Apple M1 (aarch64) with the following error:
|
||||
`(;; Fails on an Apple M1 (aarch64) with the following error:
|
||||
;; TestColorspaces::roundtripConversion fails
|
||||
"kwin-testColorspaces"
|
||||
|
||||
@@ -1517,7 +1517,9 @@ you login.")
|
||||
"kwin-testFractionalRepaint"
|
||||
"kwin-testDrmLegacy"
|
||||
"kwin-testInputCapture"
|
||||
"kwin-testMockDrm")
|
||||
"kwin-testMockDrm"
|
||||
"kwin-testSecurityContext"
|
||||
"kwin-testXwaylandSelection")
|
||||
"|")
|
||||
")")
|
||||
#:phases
|
||||
@@ -2187,11 +2189,17 @@ the KDE Plasma 6 desktop.")
|
||||
(arguments
|
||||
(list #:qtbase qtbase
|
||||
#:test-exclude
|
||||
;; The tst_calibrationtool test fails on aarch64 due to floating-point
|
||||
;; precision: QMatrix4x4 comparison fails with tiny differences
|
||||
;; (1.11759e-08 instead of exact 0).
|
||||
(string-append "("
|
||||
(string-join '("positionertest"
|
||||
(string-join `("positionertest"
|
||||
"kcm-keyboard-keyboard_memory_\
|
||||
persister_test"
|
||||
"foldermodeltest")
|
||||
"foldermodeltest"
|
||||
,@(if (target-aarch64?)
|
||||
'("tst_calibrationtool")
|
||||
'()))
|
||||
"|")
|
||||
")")
|
||||
#:phases
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2018–2022 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2021-2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2021-2026 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
@@ -1126,6 +1126,10 @@ Library.")
|
||||
(srfi srfi-26)
|
||||
,@modules)
|
||||
modules))
|
||||
;; TODO: Figure out why some tests fail on powerpc64le-linux.
|
||||
((#:tests? current-test-config #t)
|
||||
(and current-test-config
|
||||
(not (target-ppc64le?))))
|
||||
((#:configure-flags cf #~'())
|
||||
(if (%current-target-system)
|
||||
;; Use a newer version of llvm-tblgen and add the new
|
||||
|
||||
@@ -412,6 +412,19 @@ $(prefix)/etc/openrc\n")))
|
||||
(substitute* "tests/guix-environment-container.sh"
|
||||
(("guix environment --version")
|
||||
"exit 77\n")))))
|
||||
,@(if (target-arm32?)
|
||||
`((add-after
|
||||
'disable-failing-tests
|
||||
'disable-failing-tests-on-arm32
|
||||
;; XXX FIXME: These tests fail on armhf architecture,
|
||||
;; see <https://codeberg.org/guix/guix/issues/5078>.
|
||||
(lambda _
|
||||
(substitute* "tests/syscalls.scm"
|
||||
(("^\\(test-equal \"safe-clone and unshare succeeds\"" all)
|
||||
(string-append "(test-skip 1)\n" all))
|
||||
(("^\\(test-equal \"clone and unshare triggers EINVAL\"" all)
|
||||
(string-append "(test-skip 1)\n" all))))))
|
||||
'())
|
||||
(add-before 'check 'set-SHELL
|
||||
(lambda _
|
||||
;; 'guix environment' tests rely on 'SHELL' having a
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
Upstream status: https://gitlab.com/wavexx/gnus-desktop-notify.el/-/merge_requests/15
|
||||
|
||||
From 905e7ea41560783ec723aa0167911ba050f91789 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Mon, 16 Jun 2025 09:24:07 +0900
|
||||
Subject: [PATCH] Revert to use the notifications library by default.
|
||||
|
||||
The alert library project itself mentions that:
|
||||
|
||||
For desktop notifications, the notifications package that is
|
||||
installed with emacs, provides a probably better alternative for
|
||||
most users.
|
||||
|
||||
and it appears true, as by default `alert' simply print notification
|
||||
messages to the `*Messages*' buffer, which is not exactly a desktop
|
||||
notification.
|
||||
|
||||
* gnus-desktop-notify.el (require): Require notifications first,
|
||||
falling back to alert.
|
||||
(gnus-desktop-notify-function): Test for the notifications feature
|
||||
first. Mention `notifications' is the default in its doc.
|
||||
---
|
||||
gnus-desktop-notify.el | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gnus-desktop-notify.el b/gnus-desktop-notify.el
|
||||
index 97e65f3..a12e444 100644
|
||||
--- a/gnus-desktop-notify.el
|
||||
+++ b/gnus-desktop-notify.el
|
||||
@@ -26,6 +26,11 @@
|
||||
|
||||
;;; Change Log:
|
||||
|
||||
+;; 1.5:
|
||||
+;; * Revert to use the `notifications' library by default if
|
||||
+;; available. The `alert' library doesn't do anything useful in its
|
||||
+;; default configuration.
|
||||
+;;
|
||||
;; 1.4:
|
||||
;; * Use `alert' package by default if available (`gnus-desktop-notify-alert').
|
||||
;;
|
||||
@@ -83,8 +88,8 @@
|
||||
(require 'format-spec)
|
||||
(require 'gnus-group)
|
||||
|
||||
-(unless (require 'alert nil t)
|
||||
- (require 'notifications nil t))
|
||||
+(unless (require 'notifications nil t)
|
||||
+ (require 'alert nil t))
|
||||
|
||||
(declare-function alert "alert")
|
||||
(declare-function notifications-notify "notifications")
|
||||
@@ -96,8 +101,8 @@
|
||||
:group 'gnus)
|
||||
|
||||
(defcustom gnus-desktop-notify-function
|
||||
- (cond ((featurep 'alert) 'gnus-desktop-notify-alert)
|
||||
- ((featurep 'notifications) 'gnus-desktop-notify-dbus)
|
||||
+ (cond ((featurep 'notifications) 'gnus-desktop-notify-dbus)
|
||||
+ ((featurep 'alert) 'gnus-desktop-notify-alert)
|
||||
(t 'gnus-desktop-notify-send))
|
||||
"Notification backend used when a group receives new messages.
|
||||
The backend is passed the notification content as a single,
|
||||
@@ -109,8 +114,8 @@ or fallback to the generic `gnus-desktop-notify-send' otherwise.
|
||||
|
||||
The following functions are available (whose documentation see):
|
||||
|
||||
+`gnus-desktop-notify-dbus': Use the `notifications' library (default).
|
||||
`gnus-desktop-notify-alert': Use the `alert' library.
|
||||
-`gnus-desktop-notify-dbus': Use the `notifications' library.
|
||||
`gnus-desktop-notify-send': Call the `notify-send' program.
|
||||
`gnus-desktop-notify-exec': Call a customizable program."
|
||||
:type 'function)
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
Upstream-status: https://gitlab.com/wavexx/gnus-desktop-notify.el/-/merge_requests/16
|
||||
|
||||
diff --git a/README.rst b/README.rst
|
||||
index 4cacdcb..150a2c2 100644
|
||||
--- a/README.rst
|
||||
+++ b/README.rst
|
||||
@@ -18,7 +18,7 @@ new messages are received. For basic usage, to be used in conjunction with
|
||||
|
||||
(require 'gnus-desktop-notify)
|
||||
(gnus-desktop-notify-mode)
|
||||
- (gnus-demon-add-scanmail)
|
||||
+ (gnus-demon-add-rescan)
|
||||
|
||||
into your ``.gnus`` file. The default is to use alert_ if available, which
|
||||
works on every operating system and allows the user to customize the
|
||||
@@ -52,7 +52,7 @@ follows:
|
||||
(setq gnus-desktop-notify-function 'gnus-desktop-notify-exec
|
||||
gnus-desktop-notify-exec-program "growlnotify -a Emacs.app -m")
|
||||
(gnus-desktop-notify-mode)
|
||||
- (gnus-demon-add-scanmail)
|
||||
+ (gnus-demon-add-rescan)
|
||||
|
||||
|
||||
Advanced setup
|
||||
diff --git a/gnus-desktop-notify.el b/gnus-desktop-notify.el
|
||||
index 97e65f3..3153807 100644
|
||||
--- a/gnus-desktop-notify.el
|
||||
+++ b/gnus-desktop-notify.el
|
||||
@@ -50,7 +50,7 @@
|
||||
;;
|
||||
;; (require 'gnus-desktop-notify)
|
||||
;; (gnus-desktop-notify-mode)
|
||||
-;; (gnus-demon-add-scanmail)
|
||||
+;; (gnus-demon-add-rescan)
|
||||
;;
|
||||
;; into your ``.gnus`` file. The default is to use `alert' if available, which
|
||||
;; works on every operating system and allows the user to customize the
|
||||
@@ -1,21 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2025-07-17
|
||||
License: Apache Software License 2.0
|
||||
|
||||
diff -ru orig/FreeRDP/cmake/ConfigureRPATH.cmake FreeRDP/cmake/ConfigureRPATH.cmake
|
||||
--- orig/FreeRDP/cmake/ConfigureRPATH.cmake 2025-07-17 10:42:17.557667810 +0200
|
||||
+++ FreeRDP/cmake/ConfigureRPATH.cmake 2025-07-17 11:32:13.692935801 +0200
|
||||
@@ -15,10 +15,10 @@
|
||||
option(WITH_ADD_PLUGIN_TO_RPATH "Add extension and plugin path to RPATH" OFF)
|
||||
if(WITH_ADD_PLUGIN_TO_RPATH)
|
||||
set(CFG_INSTALL_RPATH
|
||||
- "\$ORIGIN/../${FREERDP_EXTENSION_REL_PATH}:\$ORIGIN/../${FREERDP_PLUGIN_PATH}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/.."
|
||||
+ "\$ORIGIN/../${FREERDP_EXTENSION_REL_PATH}:\$ORIGIN/../${FREERDP_PLUGIN_PATH}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..:\$ORIGIN/../.."
|
||||
)
|
||||
else()
|
||||
- set(CFG_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..")
|
||||
+ set(CFG_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..:\$ORIGIN/../..")
|
||||
endif()
|
||||
endif()
|
||||
endif(APPLE)
|
||||
Only in FreeRDP/: LIBS
|
||||
@@ -1,52 +0,0 @@
|
||||
Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00003.html
|
||||
|
||||
From 20a1702d881b381979d31c456f1b8cf5e0f728ad Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Sun, 7 Jan 2024 16:40:41 -0500
|
||||
Subject: [PATCH] configure.ac: Expand AC_CONFIG_FILES to fix a race.
|
||||
|
||||
The commands apparently run for each file listed, or something
|
||||
similar, leading to:
|
||||
|
||||
configure: creating ./config.status
|
||||
config.status: creating test/agent/Makefile
|
||||
chmod: cannot access 'test/agent/pre-inst-env': No such file or directory
|
||||
chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory
|
||||
config.status: creating test/agent/pre-inst-env
|
||||
chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory
|
||||
|
||||
* configure.ac [ENABLE_AGENT]: Separate AC_CONFIG_FILES uses per file.
|
||||
|
||||
Series-to: jami@gnu.org
|
||||
Series-postfix: daemon
|
||||
Change-Id: Ib283955b73540248e09bf31ef44ef3d178b216fa
|
||||
---
|
||||
configure.ac | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cdea5ff1c..2ab96d817 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -61,11 +61,11 @@ AC_ARG_ENABLE([agent],
|
||||
[Build agent]))
|
||||
AM_CONDITIONAL([ENABLE_AGENT], [test "x$enable_agent" = "xyes"])
|
||||
AM_COND_IF([ENABLE_AGENT],
|
||||
- [AC_CONFIG_FILES([test/agent/Makefile
|
||||
- test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in
|
||||
- test/agent/scenarios/bulk-calls/run-scenario],
|
||||
- [chmod +x test/agent/pre-inst-env
|
||||
- chmod +x test/agent/scenarios/bulk-calls/run-scenario])])
|
||||
+ [AC_CONFIG_FILES([test/agent/Makefile])
|
||||
+ AC_CONFIG_FILES([test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in],
|
||||
+ [chmod +x test/agent/pre-inst-env])
|
||||
+ AC_CONFIG_FILES([test/agent/scenarios/bulk-calls/run-scenario],
|
||||
+ [chmod +x test/agent/scenarios/bulk-calls/run-scenario])])
|
||||
|
||||
AC_ARG_ENABLE([tracepoints], AS_HELP_STRING([--enable-tracepoints], [Enable tracepoints]))
|
||||
|
||||
|
||||
base-commit: e246fb2e090c9b3de55e2d455eee5a6f05a5b286
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
Upstream-status: <https://review.jami.net/c/jami-daemon/+/31504>
|
||||
|
||||
diff --git a/bin/dbus/dbuscallmanager.hpp b/bin/dbus/dbuscallmanager.hpp
|
||||
index b79e0cd6f..918d8bc30 100644
|
||||
--- a/bin/dbus/dbuscallmanager.hpp
|
||||
+++ b/bin/dbus/dbuscallmanager.hpp
|
||||
@@ -23,7 +23,7 @@ class DBusCallManager : public sdbus::AdaptorInterfaces<cx::ring::Ring::CallMana
|
||||
{
|
||||
public:
|
||||
DBusCallManager(sdbus::IConnection& connection)
|
||||
- : AdaptorInterfaces(connection, "/cx/ring/Ring/CallManager")
|
||||
+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/CallManager"))
|
||||
{
|
||||
registerAdaptor();
|
||||
registerSignalHandlers();
|
||||
diff --git a/bin/dbus/dbusconfigurationmanager.hpp b/bin/dbus/dbusconfigurationmanager.hpp
|
||||
index a6bb8e4e9..895c7690d 100644
|
||||
--- a/bin/dbus/dbusconfigurationmanager.hpp
|
||||
+++ b/bin/dbus/dbusconfigurationmanager.hpp
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
std::vector<std::map<std::string, std::string>>,
|
||||
std::map<std::string, int32_t>>;
|
||||
DBusConfigurationManager(sdbus::IConnection& connection)
|
||||
- : AdaptorInterfaces(connection, "/cx/ring/Ring/ConfigurationManager")
|
||||
+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/ConfigurationManager"))
|
||||
{
|
||||
registerAdaptor();
|
||||
registerSignalHandlers();
|
||||
diff --git a/bin/dbus/dbusinstance.hpp b/bin/dbus/dbusinstance.hpp
|
||||
index d45c033e1..184fd2c7d 100644
|
||||
--- a/bin/dbus/dbusinstance.hpp
|
||||
+++ b/bin/dbus/dbusinstance.hpp
|
||||
@@ -28,7 +28,7 @@ class DBusInstance : public sdbus::AdaptorInterfaces<cx::ring::Ring::Instance_ad
|
||||
{
|
||||
public:
|
||||
DBusInstance(sdbus::IConnection& connection)
|
||||
- : AdaptorInterfaces(connection, "/cx/ring/Ring/Instance")
|
||||
+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/Instance"))
|
||||
{
|
||||
registerAdaptor();
|
||||
}
|
||||
diff --git a/bin/dbus/dbuspluginmanagerinterface.hpp b/bin/dbus/dbuspluginmanagerinterface.hpp
|
||||
index c063a9903..132674e9f 100644
|
||||
--- a/bin/dbus/dbuspluginmanagerinterface.hpp
|
||||
+++ b/bin/dbus/dbuspluginmanagerinterface.hpp
|
||||
@@ -23,7 +23,7 @@ class DBusPluginManagerInterface : public sdbus::AdaptorInterfaces<cx::ring::Rin
|
||||
{
|
||||
public:
|
||||
DBusPluginManagerInterface(sdbus::IConnection& connection)
|
||||
- : AdaptorInterfaces(connection, "/cx/ring/Ring/PluginManagerInterface")
|
||||
+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/PluginManagerInterface"))
|
||||
{
|
||||
registerAdaptor();
|
||||
registerSignalHandlers();
|
||||
diff --git a/bin/dbus/dbuspresencemanager.hpp b/bin/dbus/dbuspresencemanager.hpp
|
||||
index ca8ba7f2a..27b93eee4 100644
|
||||
--- a/bin/dbus/dbuspresencemanager.hpp
|
||||
+++ b/bin/dbus/dbuspresencemanager.hpp
|
||||
@@ -23,7 +23,7 @@ class DBusPresenceManager : public sdbus::AdaptorInterfaces<cx::ring::Ring::Pres
|
||||
{
|
||||
public:
|
||||
DBusPresenceManager(sdbus::IConnection& connection)
|
||||
- : AdaptorInterfaces(connection, "/cx/ring/Ring/PresenceManager")
|
||||
+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/PresenceManager"))
|
||||
{
|
||||
registerAdaptor();
|
||||
registerSignalHandlers();
|
||||
diff --git a/bin/dbus/dbusvideomanager.hpp b/bin/dbus/dbusvideomanager.hpp
|
||||
index 7fbca2492..96f73e99b 100644
|
||||
--- a/bin/dbus/dbusvideomanager.hpp
|
||||
+++ b/bin/dbus/dbusvideomanager.hpp
|
||||
@@ -23,7 +23,7 @@ class DBusVideoManager : public sdbus::AdaptorInterfaces<cx::ring::Ring::VideoMa
|
||||
{
|
||||
public:
|
||||
DBusVideoManager(sdbus::IConnection& connection)
|
||||
- : AdaptorInterfaces(connection, "/cx/ring/Ring/VideoManager")
|
||||
+ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/VideoManager"))
|
||||
{
|
||||
registerAdaptor();
|
||||
registerSignalHandlers();
|
||||
diff --git a/bin/dbus/main.cpp b/bin/dbus/main.cpp
|
||||
index ee8a349cc..4d7adc95e 100644
|
||||
--- a/bin/dbus/main.cpp
|
||||
+++ b/bin/dbus/main.cpp
|
||||
@@ -180,7 +180,7 @@ main(int argc, char *argv [])
|
||||
}
|
||||
|
||||
try {
|
||||
- connection = sdbus::createSessionBusConnection("cx.ring.Ring");
|
||||
+ connection = sdbus::createSessionBusConnection(sdbus::ServiceName("cx.ring.Ring"));
|
||||
DBusCallManager callManager(*connection);
|
||||
DBusConfigurationManager configurationManager(*connection);
|
||||
DBusInstance instanceManager(*connection);
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 66e52ee62..68de32497 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -420,7 +420,7 @@ AC_ARG_WITH([dbus],
|
||||
[],
|
||||
[with_dbus=yes])
|
||||
AS_IF([test "x$with_dbus" = "xyes"],
|
||||
- [PKG_CHECK_MODULES(SDBUSCPP, [sdbus-c++],,
|
||||
+ [PKG_CHECK_MODULES(SDBUSCPP, [sdbus-c++ >= 2.0.0],,
|
||||
AC_MSG_ERROR([sdbus-c++ not found]))
|
||||
|
||||
AC_CONFIG_FILES([bin/dbus/Makefile])
|
||||
diff --git a/contrib/src/sdbus-cpp/SHA512SUMS b/contrib/src/sdbus-cpp/SHA512SUMS
|
||||
index a48ebec1c..009d0b81b 100644
|
||||
--- a/contrib/src/sdbus-cpp/SHA512SUMS
|
||||
+++ b/contrib/src/sdbus-cpp/SHA512SUMS
|
||||
@@ -1 +1 @@
|
||||
-dab2c4d9a5ea6d626672a5a6ee6f3490c60c6fdd160769801a4d6b4cf3df4983fad57ff0230132a5d637ec78a55993200ce217fa89461016e101865cc2777d7d sdbus-cpp-1.2.0.tar.gz
|
||||
+4247d49f0d5231e2768c0c96fa9c266bbcc340292c9c3d748f9c37ff992b82301faea798300f916e9a5c992d77adfe56186866c91a4c7d4157750ff09ba5a047 sdbus-cpp-2.1.0.tar.gz
|
||||
diff --git a/contrib/src/sdbus-cpp/rules.mak b/contrib/src/sdbus-cpp/rules.mak
|
||||
index 397d18d3b..d00fa97ca 100644
|
||||
--- a/contrib/src/sdbus-cpp/rules.mak
|
||||
+++ b/contrib/src/sdbus-cpp/rules.mak
|
||||
@@ -1,4 +1,4 @@
|
||||
-SDBUS_CPP_VERSION := 1.2.0
|
||||
+SDBUS_CPP_VERSION := 2.1.0
|
||||
SDBUS_CPP_URL := https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v$(SDBUS_CPP_VERSION).tar.gz
|
||||
|
||||
ifdef HAVE_LINUX
|
||||
@@ -7,17 +7,14 @@ PKGS += sdbus-cpp
|
||||
endif
|
||||
endif
|
||||
|
||||
-ifeq ($(call need_pkg,"sdbus-c++ >= 1.2.0"),)
|
||||
+ifeq ($(call need_pkg,"sdbus-c++ >= 2.0.0"),)
|
||||
PKGS_FOUND += sdbus-cpp
|
||||
endif
|
||||
|
||||
SDBUS_CPP_CMAKECONF := -D CMAKE_BUILD_TYPE=Release \
|
||||
-D BUILD_SHARED_LIBS=OFF \
|
||||
- -D BUILD_CODE_GEN=ON \
|
||||
- -D BUILD_LIBSYSTEMD=OFF \
|
||||
- -D BUILD_TESTS=OFF \
|
||||
- -D BUILD_EXAMPLES=OFF \
|
||||
- -D BUILD_DOC=OFF
|
||||
+ -D SDBUSCPP_BUILD_CODEGEN=ON \
|
||||
+ -D SDBUSCPP_BUILD_DOCS=OFF
|
||||
|
||||
$(TARBALLS)/sdbus-cpp-$(SDBUS_CPP_VERSION).tar.gz:
|
||||
$(call download,$(SDBUS_CPP_URL))
|
||||
@@ -0,0 +1,24 @@
|
||||
This patch disables the 'migration-test' on AArch64, as it fails on some
|
||||
devices like this:
|
||||
|
||||
stderr:
|
||||
qemu-system-aarch64: KVM does not support GICv3 emulation
|
||||
Broken pipe
|
||||
../../tests/qtest/libqtest.c:200: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
|
||||
|
||||
(test program exited with status code -6)
|
||||
|
||||
TAP parsing error: Too few tests run (expected 61, got 0)
|
||||
|
||||
--- a/tests/qtest/meson.build 2026-01-16 21:53:16.945167915 +0100
|
||||
+++ b/tests/qtest/meson.build 2026-01-16 21:52:55.313191080 +0100
|
||||
@@ -266,8 +266,7 @@
|
||||
qtests_cxl + \
|
||||
['arm-cpu-features',
|
||||
'numa-test',
|
||||
- 'boot-serial-test',
|
||||
- 'migration-test']
|
||||
+ 'boot-serial-test']
|
||||
|
||||
qtests_s390x = \
|
||||
qtests_filter + \
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2024, 2026 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
@@ -178,7 +178,7 @@ of parts of the Windows API.")
|
||||
(package
|
||||
(inherit freerdp)
|
||||
(name "freerdp")
|
||||
(version "3.17.2")
|
||||
(version "3.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -187,22 +187,16 @@ of parts of the Windows API.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17jdr2fjfz2m81a32ka9ijb8n2kpg20s6wjvw72if86h1nsvxmmg"))
|
||||
(patches
|
||||
(search-patches "freerdp-3.16.0-rpath.patch"))))
|
||||
(base32 "1fknj2ysm3nj7kz5k8wvxpny0a7bjbi290z9cs7fwrk3yqv454w4"))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs freerdp)
|
||||
(replace "ffmpeg" ffmpeg)
|
||||
(prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf)))
|
||||
(arguments
|
||||
(list #:build-type "Release"
|
||||
#:test-exclude "TestFreeRDPCodecH264|TestClientRdpFile"
|
||||
#:test-exclude "TestFreeRDPCodecInterleaved|TestClientRdpFile"
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Relax gcc-14's strictness.
|
||||
(string-append "-DCMAKE_C_FLAGS="
|
||||
" -Wno-error=incompatible-pointer-types"
|
||||
" -Wno-error=int-conversion")
|
||||
"-DWITH_VERBOSE_WINPR_ASSERT=OFF"
|
||||
"-DWITH_JPEG=ON"
|
||||
#$@(if (target-x86-64?)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module ((gnu packages rust-sources) #:prefix package:)
|
||||
#:export (lookup-cargo-inputs))
|
||||
|
||||
;;;
|
||||
@@ -4517,9 +4517,9 @@
|
||||
(crate-source "detect-newline-style" "0.1.2"
|
||||
"0j9pcjk2ab21f36fqybz69whd1c4xy60hy7qd5v59aqm6rfg490i"))
|
||||
|
||||
(define rust-deunicode-1.6.1 rust-deunicode-1)
|
||||
(define rust-deunicode-1.6.1 package:rust-deunicode-1)
|
||||
|
||||
(define rust-deunicode-1.6.2 rust-deunicode-1)
|
||||
(define rust-deunicode-1.6.2 package:rust-deunicode-1)
|
||||
|
||||
(define rust-devicons-0.6.12
|
||||
(crate-source "devicons" "0.6.12"
|
||||
@@ -8795,7 +8795,7 @@
|
||||
(crate-source "hyperlocal" "0.8.0"
|
||||
"136978rsp0wr6x28cxivxhbq2np66l4jrq3n9xwckrrd5dxxzbqg"))
|
||||
|
||||
(define rust-hypher-0.1.6 rust-hypher-0.1)
|
||||
(define rust-hypher-0.1.6 package:rust-hypher-0.1)
|
||||
|
||||
(define rust-hyprland-0.3.13
|
||||
(crate-source "hyprland" "0.3.13"
|
||||
@@ -9896,7 +9896,7 @@
|
||||
"0yp3rz7vrn9mmqdpkds426r1p9vs6i8mkxx8ryqdfadr0s2q0s0q"))
|
||||
|
||||
(define rust-js-sys-0.3.76
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "js-sys" "0.3.76"
|
||||
"1dz7v777h2j38wkf8k5iwkfxskn6nff2cdv2jsslyxkpn2svc5v7"))
|
||||
|
||||
@@ -10230,7 +10230,7 @@
|
||||
"0ssx5f16hhif8zjdd1fz4cwn1cwjslwcbssm2xs7l93g2i6hw6h0"))
|
||||
|
||||
(define rust-libbz2-rs-sys-0.2.1
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "libbz2-rs-sys" "0.2.1"
|
||||
"1jzw1nz25k7b9rbq7czqyvckgxxj90d3bdc020mpravqb06zhnvp"))
|
||||
|
||||
@@ -10335,7 +10335,7 @@
|
||||
"0v34vjczpj8hzxnx1nj5cxwf326m91gn7bi3l3zkfg72xij94kvz"))
|
||||
|
||||
(define rust-libdisplay-info-sys-0.3.0
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "libdisplay-info-sys" "0.3.0"
|
||||
"07xmkc2aqcdn6d58321y87rd3gzdr4nx3ncm1mmrr7w1p1ahsn96"))
|
||||
|
||||
@@ -10616,9 +10616,9 @@
|
||||
(crate-source "libspa" "0.8.0"
|
||||
"044qs48yl0llp2dmrgwxj9y1pgfy09i6fhq661zqqb9a3fwa9wv5"))
|
||||
|
||||
(define rust-libspa-0.8.0.93138d0 rust-pipewire-0.8.0.93138d0)
|
||||
(define rust-libspa-0.8.0.93138d0 package:rust-pipewire-0.8.0.93138d0)
|
||||
|
||||
(define rust-libspa-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
|
||||
(define rust-libspa-0.9.2
|
||||
(crate-source "libspa" "0.9.2"
|
||||
@@ -10632,12 +10632,12 @@
|
||||
(crate-source "libspa-sys" "0.8.0"
|
||||
"07yh4i5grzbxkchg6dnxlwbdw2wm5jnd7ffbhl77jr0388b9f3dz"))
|
||||
|
||||
(define rust-libspa-sys-0.8.0.93138d0 rust-pipewire-0.8.0.93138d0)
|
||||
(define rust-libspa-sys-0.8.0.93138d0 package:rust-pipewire-0.8.0.93138d0)
|
||||
|
||||
(define rust-libspa-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-libspa-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
|
||||
(define rust-libspa-sys-0.9.2
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "libspa-sys" "0.9.2"
|
||||
"1q66vim2wha1rdglqn5w0i42z59pa9s5s8sqj37xxdifbm2lj44h"))
|
||||
|
||||
@@ -10859,7 +10859,7 @@
|
||||
"1aq7r2g7786hyxhv40spzf2nhag5xbw2axxc1k8z5k1dsgdm4v6j"))
|
||||
|
||||
(define rust-linux-raw-sys-0.4.5
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "linux-raw-sys" "0.4.5"
|
||||
"00w52pb2cb4b2880ksyzagmzbyjdmp9ac0w3qfvjv3453fnzvg2p"))
|
||||
|
||||
@@ -13617,7 +13617,7 @@
|
||||
(crate-source "pcre2" "0.2.9"
|
||||
"0avb52h3ppw6kp9ynlw988c745am9j7px2cdsm0la10qmi1mrr9v"))
|
||||
|
||||
(define rust-pcre2-0.2.9.85b7afb rust-pcre2-utf32-0.2)
|
||||
(define rust-pcre2-0.2.9.85b7afb package:rust-pcre2-utf32-0.2)
|
||||
|
||||
(define rust-pcre2-sys-0.2.10
|
||||
(crate-source "pcre2-sys" "0.2.10"
|
||||
@@ -13629,7 +13629,7 @@
|
||||
"12hxy54i8amdnmcm034hqdc7iryd20n8aqg1hw5w540vzcc5s3sm"
|
||||
#:snippet '(delete-file-recursively "upstream")))
|
||||
|
||||
(define rust-pcre2-sys-0.2.9.85b7afb rust-pcre2-utf32-0.2)
|
||||
(define rust-pcre2-sys-0.2.9.85b7afb package:rust-pcre2-utf32-0.2)
|
||||
|
||||
(define rust-pcsc-2.9.0
|
||||
(crate-source "pcsc" "2.9.0"
|
||||
@@ -13945,15 +13945,15 @@
|
||||
(crate-source "pipewire" "0.8.0"
|
||||
"1nldg1hz4v0qr26lzdxqpvrac4zbc3pb6436sl392425bjx4brh8"))
|
||||
|
||||
(define rust-pipewire-0.8.0.93138d0 rust-pipewire-0.8.0.93138d0)
|
||||
(define rust-pipewire-0.8.0.93138d0 package:rust-pipewire-0.8.0.93138d0)
|
||||
|
||||
(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
|
||||
(define rust-pipewire-0.9.2
|
||||
(crate-source "pipewire" "0.9.2"
|
||||
"0i4ddb89cr8x02zqy35krlx5mgkd3mqr0qbwkx4mdmqipydbi24n"))
|
||||
|
||||
(define rust-pipewire-sys-0.8.0.93138d0 rust-pipewire-0.8.0.93138d0)
|
||||
(define rust-pipewire-sys-0.8.0.93138d0 package:rust-pipewire-0.8.0.93138d0)
|
||||
|
||||
(define rust-pipewire-sys-0.7.2
|
||||
(crate-source "pipewire-sys" "0.7.2"
|
||||
@@ -13963,10 +13963,10 @@
|
||||
(crate-source "pipewire-sys" "0.8.0"
|
||||
"04hiy3rl8v3j2dfzp04gr7r8l5azzqqsvqdzwa7sipdij27ii7l4"))
|
||||
|
||||
(define rust-pipewire-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
|
||||
(define rust-pipewire-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
|
||||
|
||||
(define rust-pipewire-sys-0.9.2
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "pipewire-sys" "0.9.2"
|
||||
"0dpa8q10b9cja5z5r5zgb8q27pnpla7kn3h91c11gjnnw3z8l0nb"))
|
||||
|
||||
@@ -14633,7 +14633,7 @@
|
||||
(crate-source "ptyprocess" "0.4.1"
|
||||
"1kz8gzsr2pjpxcxy708338wcdqnxg3cpfbca8q8a44gvpvvsw1by"))
|
||||
|
||||
(define rust-pubgrub-0.3.0-alpha.1.b70cf70 rust-pubgrub-0.3.0.b70cf70)
|
||||
(define rust-pubgrub-0.3.0-alpha.1.b70cf70 package:rust-pubgrub-0.3.0.b70cf70)
|
||||
|
||||
(define rust-public-api-0.33.1
|
||||
(crate-source "public-api" "0.33.1"
|
||||
@@ -15548,7 +15548,7 @@
|
||||
"1glcyqvryv2zj6kjbfji0cldrkincqx3ds3wjwl4qnsnig15wn5w"))
|
||||
|
||||
(define rust-reflink-0.1.3.e8d93b4
|
||||
;; TODO: Define standalone package if this is a workspace.
|
||||
;; TODO REVIEW: Define standalone package if this is a workspace.
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/nicokoch/reflink")
|
||||
@@ -15794,8 +15794,8 @@
|
||||
(crate-source "rgb" "0.8.52"
|
||||
"1km115a9lblf9pldvx51dmmg30y8ms4ka67hvas2ndcq556qhshc"))
|
||||
|
||||
(define rust-ring-0.17.8 rust-ring-0.17)
|
||||
(define rust-ring-0.17.14 rust-ring-0.17)
|
||||
(define rust-ring-0.17.8 package:rust-ring-0.17)
|
||||
(define rust-ring-0.17.14 package:rust-ring-0.17)
|
||||
|
||||
(define rust-ripemd-0.1.3
|
||||
(crate-source "ripemd" "0.1.3"
|
||||
@@ -17822,12 +17822,12 @@
|
||||
(crate-source "smawk" "0.3.2"
|
||||
"0344z1la39incggwn6nl45k8cbw2x10mr5j0qz85cdz9np0qihxp"))
|
||||
|
||||
(define rust-smithay-0.6.0.ede2707 rust-smithay-0.6.0.ede2707)
|
||||
(define rust-smithay-0.6.0.ede2707 package:rust-smithay-0.6.0.ede2707)
|
||||
|
||||
(define rust-smithay-0.7.0.20d2dac rust-smithay-0.7.0.20d2dac)
|
||||
(define rust-smithay-0.7.0.20d2dac package:rust-smithay-0.7.0.20d2dac)
|
||||
|
||||
(define rust-smithay-0.7.0.d743e1a
|
||||
;; TODO: Define standalone package if this is a workspace.
|
||||
;; TODO REVIEW: Define standalone package if this is a workspace.
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/Smithay/smithay.git")
|
||||
@@ -17839,7 +17839,7 @@
|
||||
(crate-source "smithay-client-toolkit" "0.18.1"
|
||||
"0fpm2yfpsif7022w4xalxgn53y8w5dc8zkipcpbj1n1vmgpd6bwj"))
|
||||
|
||||
(define rust-smithay-drm-extras-0.1.0.20d2dac rust-smithay-0.7.0.20d2dac)
|
||||
(define rust-smithay-drm-extras-0.1.0.20d2dac package:rust-smithay-0.7.0.20d2dac)
|
||||
|
||||
(define rust-smithay-client-toolkit-0.15.4
|
||||
(crate-source "smithay-client-toolkit" "0.15.4"
|
||||
@@ -17853,7 +17853,7 @@
|
||||
(crate-source "smithay-clipboard" "0.7.2"
|
||||
"0inqnr4x458nqz0wdcanbgn77dad3bj0m7pjj074lrv3qkp1d0nc"))
|
||||
|
||||
(define rust-smithay-drm-extras-0.1.0.ede2707 rust-smithay-0.6.0.ede2707)
|
||||
(define rust-smithay-drm-extras-0.1.0.ede2707 package:rust-smithay-0.6.0.ede2707)
|
||||
|
||||
(define rust-smol-str-0.1.24
|
||||
(crate-source "smol_str" "0.1.24"
|
||||
@@ -18603,9 +18603,9 @@
|
||||
(crate-source "synstructure" "0.13.2"
|
||||
"1lh9lx3r3jb18f8sbj29am5hm9jymvbwh6jb1izsnnxgvgrp12kj"))
|
||||
|
||||
(define rust-syntect-5.2.0 rust-syntect-5.2)
|
||||
(define rust-syntect-5.2.0 package:rust-syntect-5.2)
|
||||
|
||||
(define rust-syntect-5.3.0 rust-syntect-5.3)
|
||||
(define rust-syntect-5.3.0 package:rust-syntect-5.3)
|
||||
|
||||
(define rust-sys-info-0.9.1
|
||||
(crate-source "sys-info" "0.9.1"
|
||||
@@ -19795,7 +19795,7 @@
|
||||
"1c3jn4ka61l4qw0g8w9lw5l0fwid4wz76x2cvdb3za81a4cp171i"))
|
||||
|
||||
(define rust-tracy-client-sys-0.27.0
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "tracy-client-sys" "0.27.0"
|
||||
"07yv23nh5wj6gd7l36ipxg0yr5cgkjzqyqamlybk0as6f2n93crg"))
|
||||
|
||||
@@ -20895,7 +20895,7 @@
|
||||
(crate-source "version-compare" "0.2.0"
|
||||
"12y9262fhjm1wp0aj3mwhads7kv0jz8h168nn5fb8b43nwf9abl5"))
|
||||
|
||||
(define rust-version-ranges-0.1.1.b70cf70 rust-pubgrub-0.3.0.b70cf70)
|
||||
(define rust-version-ranges-0.1.1.b70cf70 package:rust-pubgrub-0.3.0.b70cf70)
|
||||
|
||||
(define rust-version-track-0.1.0
|
||||
(crate-source "version-track" "0.1.0"
|
||||
@@ -21712,12 +21712,12 @@
|
||||
"15qbbdbhyz02srvm01p0cvlh0pvmbbin9hislp0yx8rvnbs9jfz3"))
|
||||
|
||||
(define rust-web-sys-0.3.76
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "web-sys" "0.3.76"
|
||||
"1g0j3kii20mh7hqmdajz2r4c21zynb9h9h026wymalkx88ip5p84"))
|
||||
|
||||
(define rust-web-sys-0.3.69
|
||||
;; TODO: Check bundled sources.
|
||||
;; TODO REVIEW: Check bundled sources.
|
||||
(crate-source "web-sys" "0.3.69"
|
||||
"1vqkxk935xa8zcnsi4bd88sb267ly2i24xl1yiq26d1n32hskbvp"))
|
||||
|
||||
@@ -21745,7 +21745,7 @@
|
||||
(crate-source "web-time" "1.1.0"
|
||||
"1fx05yqx83dhx628wb70fyy10yjfq1jpl20qfqhdkymi13rq0ras"))
|
||||
|
||||
(define rust-web-view-0.7.3.82d7cbc rust-web-view-0.7.3.82d7cbc)
|
||||
(define rust-web-view-0.7.3.82d7cbc package:rust-web-view-0.7.3.82d7cbc)
|
||||
|
||||
(define rust-webbrowser-1.0.4
|
||||
(crate-source "webbrowser" "1.0.4"
|
||||
|
||||
@@ -402,6 +402,14 @@
|
||||
;; failed to allocate memory for stack: Cannot allocate memory
|
||||
(substitute* "tests/qtest/meson.build"
|
||||
((".*qtests_aspeed :.*") ""))))))
|
||||
((target-aarch64?)
|
||||
#~((add-after 'unpack 'disable-some-tests
|
||||
(lambda _
|
||||
;; fails on some devices with GICv3 emulation not supported.
|
||||
(let ((patch #$(local-file
|
||||
(search-patch
|
||||
"qemu-disable-aarch64-migration-test.patch"))))
|
||||
(invoke "patch" "--force" "-p1" "-i" patch))))))
|
||||
(else '()))
|
||||
(add-after 'patch-source-shebangs 'patch-embedded-shebangs
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
|
||||
+19
-2
@@ -1060,6 +1060,9 @@ to use as the tty. This is primarily useful for headless systems."
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build linux-boot))) ;for 'find-long-options'
|
||||
#~(begin
|
||||
(use-modules (gnu build linux-boot)
|
||||
(srfi srfi-1))
|
||||
|
||||
;; console=device,options
|
||||
;; device: can be tty0, ttyS0, lp0, ttyUSB0 (serial).
|
||||
;; options: BBBBPNF. P n|o|e, N number of bits,
|
||||
@@ -1083,7 +1086,20 @@ to use as the tty. This is primarily useful for headless systems."
|
||||
(find-long-options "console" command)))
|
||||
(specs (append agetty-specs console-specs)))
|
||||
(match specs
|
||||
(() #f)
|
||||
;; Fallback to a physical console registered in /proc/consoles.
|
||||
(() (let* ((consoles (read-linux-consoles))
|
||||
(chosen-console
|
||||
;; Prioritize preferred, if none, choose any enabled.
|
||||
(or (find (lambda (c)
|
||||
(and (not (linux-console-virtual? c))
|
||||
(linux-console-preferred? c)))
|
||||
consoles)
|
||||
(find (lambda (c)
|
||||
(and (not (linux-console-virtual? c))
|
||||
(linux-console-enabled? c)))
|
||||
consoles))))
|
||||
(and chosen-console
|
||||
(linux-console-device chosen-console))))
|
||||
((spec _ ...)
|
||||
;; Extract device name from first spec.
|
||||
(match (string-tokenize spec not-comma)
|
||||
@@ -1111,7 +1127,8 @@ to use as the tty. This is primarily useful for headless systems."
|
||||
(requirement (cons* 'user-processes 'host-name 'udev
|
||||
shepherd-requirement))
|
||||
|
||||
(modules '((ice-9 match) (gnu build linux-boot)))
|
||||
(modules '((ice-9 match) (gnu build linux-boot)
|
||||
(srfi srfi-1)))
|
||||
(start
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build linux-boot)))
|
||||
|
||||
@@ -2520,11 +2520,10 @@ applications needing access to be root.")
|
||||
(%current-system))))
|
||||
;; List of services typically useful for a "desktop" use case.
|
||||
|
||||
;; Since GDM depends on Rust and Rust is not available on all platforms,
|
||||
;; use SDDM as the fall-back display manager.
|
||||
;; TODO: Switch the condition to use (supported-package? "rust") and make
|
||||
;; a news entry about the change.
|
||||
(cons* (if (string-prefix? "x86_64" system)
|
||||
;; FIXME: Since GDM depends on more dependencies that do not build on i686,
|
||||
;; keep SDDM on it for the time being.
|
||||
;; XXX: When changing login manager, also change set-xorg-configuration
|
||||
(cons* (if (target-64bit? system)
|
||||
(service gdm-service-type)
|
||||
(service sddm-service-type))
|
||||
|
||||
|
||||
@@ -1379,14 +1379,14 @@ polkit.addRule(function(action, subject) {
|
||||
"Run the GNOME Desktop Manager (GDM), a program that allows
|
||||
you to log in in a graphical session, whether or not you use GNOME."))))
|
||||
|
||||
;; Since GDM depends on Rust and Rust is not available on all platforms,
|
||||
;; use SDDM as the fall-back display manager.
|
||||
;; TODO: Switch the condition to take into account if Rust is supported and
|
||||
;; match the configuration in desktop-services-for-system.
|
||||
|
||||
;; FIXME: Since GDM depends on more dependencies that do not build on i686,
|
||||
;; keep SDDM on it for the time being.
|
||||
;; XXX: When changing this, also change desktop-services-for-system
|
||||
(define* (set-xorg-configuration config
|
||||
#:optional
|
||||
(login-manager-service-type
|
||||
(if (target-x86-64?)
|
||||
(if (target-64bit?)
|
||||
gdm-service-type
|
||||
sddm-service-type)))
|
||||
"Tell the log-in manager (of type @var{login-manager-service-type}) to use
|
||||
|
||||
@@ -1113,6 +1113,9 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
# Clean up after ourselves.
|
||||
unset GUIX_PROFILE
|
||||
|
||||
# Prepend privileged programs.
|
||||
export PATH=/run/privileged/bin:$PATH
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
;; for a "desktop" setup with GNOME and Xfce where the
|
||||
;; root partition is encrypted with LUKS, and a swap file.
|
||||
|
||||
(use-modules (gnu) (gnu system nss) (guix utils))
|
||||
(use-modules (gnu) (gnu system nss) (guix utils)
|
||||
(guix packages))
|
||||
(use-service-modules desktop sddm xorg)
|
||||
(use-package-modules gnome)
|
||||
|
||||
@@ -73,7 +74,10 @@
|
||||
;; by clicking the gear. Use the "desktop" services, which
|
||||
;; include the X11 log-in service, networking with
|
||||
;; NetworkManager, and more.
|
||||
(services (if (target-x86-64?)
|
||||
(services (if (supported-package? gnome
|
||||
(or (and=> (%current-target-system)
|
||||
gnu-triplet->nix-system)
|
||||
(%current-system)))
|
||||
(append (list (service gnome-desktop-service-type)
|
||||
(service xfce-desktop-service-type)
|
||||
(set-xorg-configuration
|
||||
@@ -81,16 +85,14 @@
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services)
|
||||
|
||||
;; FIXME: Since GDM depends on Rust (gdm -> gnome-shell -> gjs
|
||||
;; -> mozjs -> rust) and Rust is currently unavailable on
|
||||
;; non-x86_64 platforms, we use SDDM and Mate here instead of
|
||||
;; GNOME and GDM.
|
||||
;; FIXME: Since Gnome depends on Rust and Rust is currently
|
||||
;; unavailable on some platforms, we use MATE here instead of
|
||||
;; GNOME.
|
||||
(append (list (service mate-desktop-service-type)
|
||||
(service xfce-desktop-service-type)
|
||||
(set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))
|
||||
sddm-service-type))
|
||||
(keyboard-layout keyboard-layout))))
|
||||
%desktop-services)))
|
||||
|
||||
;; Allow resolution of '.local' host names with mDNS.
|
||||
|
||||
@@ -1034,7 +1034,12 @@ it can be used for bootloading."
|
||||
(inherit
|
||||
(operating-system-bootloader base-os))
|
||||
(bootloader grub-mkrescue-bootloader))
|
||||
(operating-system-bootloader base-os)))))
|
||||
(operating-system-bootloader base-os)))
|
||||
(file-systems (cons (file-system
|
||||
(mount-point "/")
|
||||
(device "/dev/placeholder")
|
||||
(type root-file-system-type))
|
||||
file-systems-to-keep))))
|
||||
(uuid (root-uuid os)))
|
||||
(operating-system
|
||||
(inherit os)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2024-2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -47,13 +48,13 @@
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; VisionFive2 can boot from MMC1 (SPI flash) or MMC2 (SD card) selected
|
||||
;;; by DIP switches MSEL[1:0], you may want boot from MMC2 to use the
|
||||
;;; U-Boot from Guix System instead of the vendor U-Boot in MMC1. Before
|
||||
;;; doing so, make sure you have a correct 'fdtfile' in the environment:
|
||||
;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with
|
||||
;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the
|
||||
;;; board will use U-Boot from Guix System instead of the vendor U-Boot.
|
||||
;;; Booting from eMMC and NVME is still work-in-progress.
|
||||
;;;
|
||||
;;; uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
|
||||
;;; uboot> saveenv
|
||||
;;; References:
|
||||
;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html>
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
|
||||
+273
-123
@@ -25,9 +25,11 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu system install)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu system privilege)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu bootloader u-boot)
|
||||
#:use-module (guix gexp)
|
||||
@@ -336,6 +338,104 @@ templates under @file{/etc/configuration}.")))
|
||||
"Load the @code{uvesafb} kernel module with the right options.")
|
||||
(default-value #t)))
|
||||
|
||||
(define %installation-login-pam-service
|
||||
;; Custom 'login' pam.d rule. It is based on the original one,
|
||||
;; but includes possibility to print different motd. This motd
|
||||
;; is useful for headless consoles.
|
||||
(let* ((unix (pam-entry
|
||||
(control "required")
|
||||
(module "pam_unix.so")))
|
||||
(env (pam-entry ; to honor /etc/environment.
|
||||
(control "required")
|
||||
(module "pam_env.so")))
|
||||
(motd (plain-file "motd" "
|
||||
\x1b[1;37mWelcome to the installation of GNU Guix!\x1b[0m
|
||||
|
||||
\x1b[2m\
|
||||
Using this shell, you can carry out the installation process \"manually.\"
|
||||
Access documentation at any time by pressing Alt-F2.\x1b[0m
|
||||
"))
|
||||
(console-motd (plain-file "console-motd" "
|
||||
\x1b[1;37mWelcome to the installation of GNU Guix!\x1b[0m
|
||||
|
||||
You are in a headless console. If you can use a display, you should see the
|
||||
graphical installer on TTY1, it's opened by default. In case you cannot use a
|
||||
display, you can carry out the installation process in this shell \"manually\"
|
||||
or by starting the installer, using `guix-system-installer` command.
|
||||
|
||||
\x1b[2mYou can access the Guix documentation using `info \"(guix)\"`.\x1b[0m
|
||||
"))
|
||||
(show-motd (program-file "show-motd"
|
||||
#~(begin
|
||||
(use-modules (ice-9 textual-ports))
|
||||
|
||||
(call-with-input-file
|
||||
(if (file-exists?
|
||||
(string-append
|
||||
"/tmp/console_"
|
||||
(basename (getenv "PAM_TTY"))))
|
||||
#$console-motd
|
||||
#$motd)
|
||||
(lambda (port)
|
||||
(display (get-string-all port))))))))
|
||||
(pam-service
|
||||
(name "login")
|
||||
(account (list unix))
|
||||
(auth (list (pam-entry
|
||||
(control "required")
|
||||
(module "pam_unix.so")
|
||||
(arguments '("nullok")))))
|
||||
(password (list (pam-entry
|
||||
(control "required")
|
||||
(module "pam_unix.so")
|
||||
(arguments '("sha512" "shadow")))))
|
||||
(session `(,(pam-entry
|
||||
(control "optional")
|
||||
(module "pam_exec.so")
|
||||
(arguments
|
||||
(list "type=open_session" "stdout" show-motd)))
|
||||
,(pam-entry ;to fill in /proc/self/loginuid
|
||||
(control "required")
|
||||
(module "pam_loginuid.so"))
|
||||
,env ,unix)))))
|
||||
|
||||
(define %installation-console-login
|
||||
;; Make a custom 'login' wrapper for execution in console
|
||||
;; terminal. It instructs pam.d login rule to print different
|
||||
;; motd.
|
||||
(program-file
|
||||
"login-with-motd"
|
||||
#~(begin
|
||||
(call-with-output-file
|
||||
(string-append "/tmp/console_"
|
||||
(basename (ttyname (current-output-port))))
|
||||
(const #t))
|
||||
|
||||
(apply execlp
|
||||
#$(file-append shadow "/bin/login")
|
||||
(command-line)))))
|
||||
|
||||
(define* (installer-command-package installer-program
|
||||
#:key executable)
|
||||
(package
|
||||
(name executable)
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list #:builder (with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
|
||||
(symlink #$installer-program
|
||||
(string-append #$output "/bin/" #$executable))))))
|
||||
(home-page #f)
|
||||
(synopsis "Provides the Guix System installer as run-guix-installer command")
|
||||
(description "Provides the Guix System installer as run-guix-installer command.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define* (%installation-services
|
||||
#:key
|
||||
(system (or (and=>
|
||||
@@ -344,152 +444,168 @@ templates under @file{/etc/configuration}.")))
|
||||
(%current-system)))
|
||||
(guix-for-system (current-guix)))
|
||||
;; List of services of the installation system.
|
||||
(let ((motd (plain-file "motd" "
|
||||
\x1b[1;37mWelcome to the installation of GNU Guix!\x1b[0m
|
||||
(define (normal-tty tty)
|
||||
(service mingetty-service-type
|
||||
(mingetty-configuration (tty tty)
|
||||
(auto-login "root")
|
||||
(login-pause? #t))))
|
||||
|
||||
\x1b[2m\
|
||||
Using this shell, you can carry out the installation process \"manually.\"
|
||||
Access documentation at any time by pressing Alt-F2.\x1b[0m
|
||||
")))
|
||||
(define (normal-tty tty)
|
||||
(service mingetty-service-type
|
||||
(mingetty-configuration (tty tty)
|
||||
(auto-login "root")
|
||||
(login-pause? #t))))
|
||||
(define bare-bones-os
|
||||
(load "examples/bare-bones.tmpl"))
|
||||
|
||||
(define bare-bones-os
|
||||
(load "examples/bare-bones.tmpl"))
|
||||
(define installer
|
||||
(installer-program
|
||||
#:guix-for-installer guix-for-system))
|
||||
|
||||
(append
|
||||
;; Generic services
|
||||
(list (service virtual-terminal-service-type)
|
||||
(append
|
||||
;; Generic services
|
||||
(list (service virtual-terminal-service-type)
|
||||
|
||||
(service kmscon-service-type
|
||||
(kmscon-configuration
|
||||
(virtual-terminal "tty1")
|
||||
(login-program (installer-program
|
||||
#:guix-for-installer guix-for-system))))
|
||||
(service kmscon-service-type
|
||||
(kmscon-configuration
|
||||
(virtual-terminal "tty1")
|
||||
(login-program installer)))
|
||||
|
||||
(service login-service-type
|
||||
(login-configuration
|
||||
(motd motd)))
|
||||
(simple-service 'installer-login
|
||||
pam-root-service-type
|
||||
(list %installation-login-pam-service))
|
||||
|
||||
;; Documentation. The manual is in UTF-8, but
|
||||
;; 'console-font-service' sets up Unicode support and loads a font
|
||||
;; with all the useful glyphs like em dash and quotation marks.
|
||||
(service documentation-service-type "tty2")
|
||||
;; Documentation. The manual is in UTF-8, but
|
||||
;; 'console-font-service' sets up Unicode support and loads a font
|
||||
;; with all the useful glyphs like em dash and quotation marks.
|
||||
(service documentation-service-type "tty2")
|
||||
|
||||
;; Documentation add-on.
|
||||
%configuration-template-service
|
||||
;; Documentation add-on.
|
||||
%configuration-template-service
|
||||
|
||||
;; A bunch of 'root' ttys.
|
||||
(normal-tty "tty3")
|
||||
(normal-tty "tty4")
|
||||
(normal-tty "tty5")
|
||||
(normal-tty "tty6")
|
||||
;; A bunch of 'root' ttys.
|
||||
(normal-tty "tty3")
|
||||
(normal-tty "tty4")
|
||||
(normal-tty "tty5")
|
||||
(normal-tty "tty6")
|
||||
|
||||
;; The usual services.
|
||||
(service shepherd-system-log-service-type)
|
||||
;; The usual services.
|
||||
(service shepherd-system-log-service-type)
|
||||
|
||||
;; Use the Avahi daemon to discover substitute servers on the local
|
||||
;; network. It can be faster than fetching from remote servers.
|
||||
(service avahi-service-type)
|
||||
;; Use the Avahi daemon to discover substitute servers on the local
|
||||
;; network. It can be faster than fetching from remote servers.
|
||||
(service avahi-service-type)
|
||||
|
||||
;; The build daemon.
|
||||
(service guix-service-type
|
||||
(guix-configuration
|
||||
;; Register the default substitute server key(s) as
|
||||
;; trusted to allow the installation process to use
|
||||
;; substitutes by default.
|
||||
(authorize-key? #t)
|
||||
;; Allow runninng the installer command on headless setups.
|
||||
(simple-service 'installer-program-profile
|
||||
profile-service-type
|
||||
(list (installer-command-package
|
||||
installer
|
||||
#:executable "guix-system-installer")))
|
||||
|
||||
;; Install and run the current Guix rather than an older
|
||||
;; snapshot.
|
||||
(guix guix-for-system)))
|
||||
;; The build daemon.
|
||||
(service guix-service-type
|
||||
(guix-configuration
|
||||
;; Register the default substitute server key(s) as
|
||||
;; trusted to allow the installation process to use
|
||||
;; substitutes by default.
|
||||
(authorize-key? #t)
|
||||
|
||||
;; Start udev so that useful device nodes are available.
|
||||
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for
|
||||
;; regulations-compliant WiFi access.
|
||||
(service udev-service-type
|
||||
(udev-configuration
|
||||
(rules (list lvm2 crda))))
|
||||
;; Install and run the current Guix rather than an older
|
||||
;; snapshot.
|
||||
(guix guix-for-system)))
|
||||
|
||||
;; Add the 'cow-store' service, which users have to start manually
|
||||
;; since it takes the installation directory as an argument.
|
||||
(cow-store-service)
|
||||
;; Start udev so that useful device nodes are available.
|
||||
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for
|
||||
;; regulations-compliant WiFi access.
|
||||
(service udev-service-type
|
||||
(udev-configuration
|
||||
(rules (list lvm2 crda))))
|
||||
|
||||
;; Install Unicode support and a suitable font.
|
||||
(service console-font-service-type
|
||||
(map (match-lambda
|
||||
("tty2"
|
||||
;; Use a font that contains characters such as
|
||||
;; curly quotes as found in the manual.
|
||||
'("tty2" . "LatGrkCyr-8x16"))
|
||||
(tty
|
||||
;; Use a font that doesn't have more than 256
|
||||
;; glyphs so that we can use colors with varying
|
||||
;; brightness levels (see note in setfont(8)).
|
||||
`(,tty . "lat9u-16")))
|
||||
'("tty1" "tty2" "tty3" "tty4" "tty5" "tty6")))
|
||||
;; Add the 'cow-store' service, which users have to start manually
|
||||
;; since it takes the installation directory as an argument.
|
||||
(cow-store-service)
|
||||
|
||||
;; To facilitate copy/paste.
|
||||
(service gpm-service-type)
|
||||
;; Install Unicode support and a suitable font.
|
||||
(service console-font-service-type
|
||||
(map (match-lambda
|
||||
("tty2"
|
||||
;; Use a font that contains characters such as
|
||||
;; curly quotes as found in the manual.
|
||||
'("tty2" . "LatGrkCyr-8x16"))
|
||||
(tty
|
||||
;; Use a font that doesn't have more than 256
|
||||
;; glyphs so that we can use colors with varying
|
||||
;; brightness levels (see note in setfont(8)).
|
||||
`(,tty . "lat9u-16")))
|
||||
'("tty1" "tty2" "tty3" "tty4" "tty5" "tty6")))
|
||||
|
||||
;; Add an SSH server to facilitate remote installs.
|
||||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(port-number 22)
|
||||
(permit-root-login #t)
|
||||
;; The root account is passwordless, so make sure
|
||||
;; a password is set before allowing logins.
|
||||
(allow-empty-passwords? #f)
|
||||
(password-authentication? #t)
|
||||
;; To facilitate copy/paste.
|
||||
(service gpm-service-type)
|
||||
|
||||
;; Don't start it upfront.
|
||||
(%auto-start? #f)))
|
||||
;; Add an SSH server to facilitate remote installs.
|
||||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(port-number 22)
|
||||
(permit-root-login #t)
|
||||
;; The root account is passwordless, so make sure
|
||||
;; a password is set before allowing logins.
|
||||
(allow-empty-passwords? #f)
|
||||
(password-authentication? #t)
|
||||
|
||||
;; Since this is running on a USB stick with a overlayfs as the root
|
||||
;; file system, use an appropriate cache configuration.
|
||||
(service nscd-service-type
|
||||
(nscd-configuration
|
||||
(caches %nscd-minimal-caches)))
|
||||
;; Don't start it upfront.
|
||||
(%auto-start? #f)))
|
||||
|
||||
;; Having /bin/sh is a good idea. In particular it allows Tramp
|
||||
;; connections to this system to work.
|
||||
(service special-files-service-type
|
||||
`(("/bin/sh" ,(file-append bash "/bin/sh"))))
|
||||
;; Since this is running on a USB stick with a overlayfs as the root
|
||||
;; file system, use an appropriate cache configuration.
|
||||
(service nscd-service-type
|
||||
(nscd-configuration
|
||||
(caches %nscd-minimal-caches)))
|
||||
|
||||
;; Loopback device, needed by OpenSSH notably.
|
||||
(service static-networking-service-type
|
||||
(list %loopback-static-networking))
|
||||
;; Having /bin/sh is a good idea. In particular it allows Tramp
|
||||
;; connections to this system to work.
|
||||
(service special-files-service-type
|
||||
`(("/bin/sh" ,(file-append bash "/bin/sh"))))
|
||||
|
||||
(service wpa-supplicant-service-type)
|
||||
(service dbus-root-service-type)
|
||||
(service connman-service-type
|
||||
(connman-configuration
|
||||
(disable-vpn? #t)))
|
||||
;; Loopback device, needed by OpenSSH notably.
|
||||
(service static-networking-service-type
|
||||
(list %loopback-static-networking))
|
||||
|
||||
;; Keep a reference to BARE-BONES-OS to make sure it can be
|
||||
;; installed without downloading/building anything. Also keep the
|
||||
;; things needed by 'profile-derivation' to minimize the amount of
|
||||
;; download.
|
||||
(service gc-root-service-type
|
||||
(append
|
||||
(list bare-bones-os
|
||||
(libc-utf8-locales-for-target system)
|
||||
texinfo
|
||||
guile-3.0)
|
||||
%default-locale-libcs)))
|
||||
(service wpa-supplicant-service-type)
|
||||
(service dbus-root-service-type)
|
||||
(service connman-service-type
|
||||
(connman-configuration
|
||||
(disable-vpn? #t)))
|
||||
|
||||
;; Specific system services
|
||||
;; Keep a reference to BARE-BONES-OS to make sure it can be
|
||||
;; installed without downloading/building anything. Also keep the
|
||||
;; things needed by 'profile-derivation' to minimize the amount of
|
||||
;; download.
|
||||
(service gc-root-service-type
|
||||
(append
|
||||
(list bare-bones-os
|
||||
(libc-utf8-locales-for-target system)
|
||||
texinfo
|
||||
guile-3.0)
|
||||
%default-locale-libcs)))
|
||||
|
||||
;; Machines without Kernel Mode Setting (those with many old and
|
||||
;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI
|
||||
;; installer. Some may also need a kernel parameter like nomodeset
|
||||
;; or vga=793, but we leave that for the user to specify in GRUB.
|
||||
`(,@(if (supported-package? v86d system)
|
||||
(list (service uvesafb-service-type))
|
||||
'())))))
|
||||
;; Specific system services
|
||||
|
||||
;; AArch64 has a better detection of consoles, mainly because device
|
||||
;; trees are utilized. On x86_64, the detection is usually done
|
||||
;; through BIOS and consoles do not get registered to /proc/console.
|
||||
;; The only way they would is if the user used console linux argument.
|
||||
`(,@(if (target-aarch64? system)
|
||||
(list (service agetty-service-type
|
||||
(agetty-configuration (tty #f)
|
||||
(auto-login "root")
|
||||
(login-pause? #t)
|
||||
(login-program
|
||||
%installation-console-login))))
|
||||
'()))
|
||||
|
||||
;; Machines without Kernel Mode Setting (those with many old and
|
||||
;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI
|
||||
;; installer. Some may also need a kernel parameter like nomodeset
|
||||
;; or vga=793, but we leave that for the user to specify in GRUB.
|
||||
`(,@(if (supported-package? v86d system)
|
||||
(list (service uvesafb-service-type))
|
||||
'()))))
|
||||
|
||||
(define %issue
|
||||
;; Greeting.
|
||||
@@ -530,10 +646,44 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
|
||||
"usb_common" "usbcore"
|
||||
;; USB 3.0
|
||||
"xhci_pci" "xhci_hcd"
|
||||
;; embedded USB 3.0
|
||||
"xhci_plat_hcd"
|
||||
;; More USB controllers
|
||||
"dwc3" "dwc3_pci"
|
||||
;; Allwinner
|
||||
"phy_sun4i_usb" "phy_sun50i_usb3"
|
||||
;; Qualcomm
|
||||
"dwc3_qcom"
|
||||
"phy_qcom_qmp_usb" "phy_qcom_qusb2"
|
||||
"phy_qcom_snps_femto_v2" "phy_qcom_usb_hs"
|
||||
"phy_qcom_usb_ss"
|
||||
;; Texas Instruments
|
||||
"phy_tusb1210"
|
||||
;; Rockchip
|
||||
"phy_rockchip_usb"
|
||||
"phy_rockchip_inno_usb2" "phy_rockchip_typec"
|
||||
;; NXP i.MX
|
||||
"phy_fsl_imx8mq_usb"
|
||||
;; Generic
|
||||
"phy_generic"
|
||||
;; "thunderbolt" "typec_thunderbolt"
|
||||
;; USB 2.0
|
||||
"ehci_pci" "ehci_hcd")
|
||||
"dwc2"
|
||||
"ehci_pci" "ehci_hcd"
|
||||
"ehci_platform"
|
||||
;; USB 1.1
|
||||
"ohci_pci" "ohci_hcd"
|
||||
;; SD cards
|
||||
"mmc_hsq" "mmc_spi"
|
||||
"mmc_core" "mmc_block"
|
||||
"sdhci" "sdhci_pci"
|
||||
"mmc_spi"
|
||||
"sdhci_acpi"
|
||||
;; Platform specific SD card
|
||||
"dw_mmc" "dw_mmc-pltfm" "dw_mmc-rockchip"
|
||||
"sunxi_mmc" "sdhci_pltfm" "sdhci_msm"
|
||||
"sdhci_of_arasan" "sdhci_of_esdhc" "sdhci_brcmstb"
|
||||
"sdhci_tegra" "phy_rockchip_emmc"
|
||||
"sdhci_esdhc_imx")
|
||||
'())
|
||||
,@%base-initrd-modules))
|
||||
|
||||
|
||||
+190
-10
@@ -29,7 +29,9 @@
|
||||
#:use-module ((gnu tests base)
|
||||
#:select (%hello-dependencies-manifest
|
||||
guix-daemon-test-cases))
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages make-bootstrap)
|
||||
@@ -39,7 +41,9 @@
|
||||
#:use-module ((guix scripts pack) #:prefix pack:)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:export (%test-debian-install
|
||||
%test-archlinux-install))
|
||||
%test-archlinux-install
|
||||
%test-ubuntu-install
|
||||
%test-fedora-install))
|
||||
|
||||
(define marionette-systemd-service
|
||||
;; Definition of the marionette service for systemd.
|
||||
@@ -57,13 +61,20 @@ ExecStart=/opt/guix/bin/guile --no-auto-compile \\
|
||||
(define* (qcow-image-with-marionette image
|
||||
#:key
|
||||
(name "image-with-marionette.qcow2")
|
||||
(device "/dev/vdb1"))
|
||||
(device "/dev/vdb1")
|
||||
(resize-image #f)
|
||||
(resize-proc #~(const #f)))
|
||||
"Instrument IMAGE, returning a new image that contains a statically-linked
|
||||
Guile under /opt/guix and a marionette systemd service. The relevant file
|
||||
system is expected to be on DEVICE."
|
||||
system is expected to be on DEVICE. When RESIZE-IMAGE is not #f, it is
|
||||
supplied as an argument to qemu-img resize as new size of the image, eg.
|
||||
\"+1G\" to add 1 GiB to the partition and its file system. RESIZE-PROC is a
|
||||
gexp evaluating to a two-argument procedure. The two arguments are device and
|
||||
marionette. This procedure will be called from within a VM and it should
|
||||
resize the partition and file system, if appropriate."
|
||||
(define vm
|
||||
(virtual-machine
|
||||
(marionette-operating-system %simple-os)))
|
||||
(marionette-operating-system %simple-os)))
|
||||
|
||||
(define build
|
||||
(with-imported-modules (source-module-closure
|
||||
@@ -80,6 +91,10 @@ system is expected to be on DEVICE."
|
||||
"create" "-b" #$image
|
||||
"-F" "qcow2" "-f" "qcow2" target-image)
|
||||
|
||||
(when #$resize-image
|
||||
(invoke (string-append #+qemu "/bin/qemu-img")
|
||||
"resize" target-image #$resize-image))
|
||||
|
||||
;; Run a VM that will mount IMAGE and populate it. This is somewhat
|
||||
;; more convenient to set up than 'guestfish' from libguestfs.
|
||||
(let ((marionette
|
||||
@@ -89,10 +104,15 @@ system is expected to be on DEVICE."
|
||||
",format=qcow2,if=virtio,"
|
||||
"cache=writeback,werror=report,readonly=off")))))
|
||||
|
||||
(#$resize-proc #$device marionette)
|
||||
|
||||
(unless (zero? (marionette-eval '(system* "mount" #$device "/mnt")
|
||||
marionette))
|
||||
(error "failed to mount foreign distro image" #$device))
|
||||
|
||||
;; Make newly copied files relabeled for SELinux-enabled distributions
|
||||
(marionette-eval '(system* "touch" "/mnt/.autorelabel") marionette)
|
||||
|
||||
(marionette-eval '(system* "ls" "-la" "/mnt")
|
||||
marionette)
|
||||
(marionette-eval '(begin
|
||||
@@ -134,6 +154,61 @@ system is expected to be on DEVICE."
|
||||
|
||||
(computed-file name build))
|
||||
|
||||
(define resize-ext4-partition
|
||||
;; Gexp evaluating to a two-argument procedure, taking DEVICE and
|
||||
;; MARIONETTE. It will grow the given device and its file system to 100 %
|
||||
;; of the empty space on the image.
|
||||
#~(lambda (device marionette)
|
||||
(unless (zero? (marionette-eval
|
||||
`(system*
|
||||
#$(file-append cloud-utils "/bin/growpart")
|
||||
(string-take ,device (- (string-length ,device) 1))
|
||||
(string-take-right ,device 1))
|
||||
marionette))
|
||||
(error "failed to grow the partition"))
|
||||
|
||||
;; ;; resize2fs will refuse operation when e2fsck is not ran.
|
||||
(unless (zero? (marionette-eval
|
||||
`(system* #$(file-append e2fsprogs "/sbin/e2fsck")
|
||||
"-fy" ,device)
|
||||
marionette))
|
||||
(error "failed to repair the file system"))
|
||||
|
||||
(unless (zero? (marionette-eval
|
||||
`(system* #$(file-append e2fsprogs "/sbin/resize2fs")
|
||||
,device)
|
||||
marionette))
|
||||
(error "failed to grow the file system"))))
|
||||
|
||||
(define resize-lvm-xfs-partition
|
||||
;; Gexp evaluating to a two-argument procedure, taking DEVICE and
|
||||
;; MARIONETTE. It will grow the given device and its file system to 100 %
|
||||
;; of the empty space on the image.
|
||||
#~(lambda (device marionette)
|
||||
|
||||
(unless (zero? (marionette-eval `(begin
|
||||
(system* #$(file-append lvm2 "/sbin/pvscan"))
|
||||
(system* #$(file-append lvm2 "/sbin/vgscan"))
|
||||
(system* #$(file-append lvm2 "/sbin/vgchange") "-a" "y")
|
||||
(system* #$(file-append lvm2 "/sbin/lvscan"))
|
||||
(system* #$(file-append lvm2 "/sbin/lvextend") "-l" "+100%FREE" ,device))
|
||||
marionette))
|
||||
`(error "failed to extend logical volume" ,device))
|
||||
|
||||
(unless (zero? (marionette-eval `(system* "mount" ,device "/mnt")
|
||||
marionette))
|
||||
`(error "failed to mount foreign distro image" ,device))
|
||||
|
||||
(unless (zero? (marionette-eval
|
||||
`(system* #$(file-append xfsprogs "/sbin/xfs_growfs")
|
||||
,device)
|
||||
marionette))
|
||||
(error "failed to grow the file system"))
|
||||
|
||||
(unless (zero? (marionette-eval '(system* "umount" "/mnt")
|
||||
marionette))
|
||||
(error "failed to unmount device"))))
|
||||
|
||||
(define (manifest-entry-without-grafts entry)
|
||||
"Return ENTRY with grafts disabled on its contents."
|
||||
(manifest-entry
|
||||
@@ -159,16 +234,26 @@ system is expected to be on DEVICE."
|
||||
(file-append (package-source guix) "/etc/guix-install.sh"))
|
||||
|
||||
(define* (run-foreign-install-test image name
|
||||
#:key (device "/dev/vdb1")
|
||||
(deb-files '()))
|
||||
#:key
|
||||
(device "/dev/vdb1")
|
||||
(deb-files '())
|
||||
(resize-image #f)
|
||||
(resize-proc #~(const #f)))
|
||||
"Run an installation of Guix in IMAGE, the QCOW2 image of a systemd-based
|
||||
GNU/Linux distro, and check that the installation is functional. The root
|
||||
partition of IMAGE is expected to be on DEVICE. Prior to that, install all
|
||||
of DEB-FILES with 'dpkg -i'."
|
||||
partition of IMAGE is expected to be on DEVICE. Prior to that, install all of
|
||||
DEB-FILES with 'dpkg -i'. When RESIZE-IMAGE is not #f, it is supplied as an
|
||||
argument to qemu-img resize as new size of the image, eg. \"+1G\" to add 1
|
||||
GiB to the partition and its file system. RESIZE-PROC is a gexp evaluating to
|
||||
a two-argument procedure. The two arguments are device and marionette. This
|
||||
procedure will be called from within a VM and it should resize the partition
|
||||
and file system, if appropriate."
|
||||
(define instrumented-image
|
||||
(qcow-image-with-marionette image
|
||||
#:name (string-append name ".qcow2")
|
||||
#:device device))
|
||||
#:device device
|
||||
#:resize-image resize-image
|
||||
#:resize-proc resize-proc))
|
||||
|
||||
(define (test tarball)
|
||||
(with-imported-modules (source-module-closure
|
||||
@@ -187,7 +272,7 @@ of DEB-FILES with 'dpkg -i'."
|
||||
(list (%store-prefix))
|
||||
#:image-format "qcow2"
|
||||
#:rw-image? #t)
|
||||
"-m" "512"
|
||||
"-m" "1024"
|
||||
"-snapshot")))
|
||||
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
@@ -266,6 +351,39 @@ of DEB-FILES with 'dpkg -i'."
|
||||
|
||||
#$(guix-daemon-test-cases #~marionette)
|
||||
|
||||
;; NOTE: There was a bug where the service couldn't be restarted,
|
||||
;; because the store would be captured as read-only when creating
|
||||
;; the private mount namespace.
|
||||
;; See <https://codeberg.org/guix/guix/issues/4744>.
|
||||
;; So we try restarting it here.
|
||||
(test-equal "restart guix-daemon.service"
|
||||
0
|
||||
(marionette-eval '(system* "systemctl" "restart"
|
||||
"guix-daemon.service")
|
||||
marionette))
|
||||
|
||||
(test-equal "guix build hello after guix-daemon.service restart"
|
||||
0
|
||||
(marionette-eval '(system* "guix" "build"
|
||||
"hello" "--no-grafts"
|
||||
"--check")
|
||||
marionette))
|
||||
|
||||
(test-equal "guix gc after guix-daemon.service"
|
||||
0
|
||||
(marionette-eval '(system* "guix" "gc")
|
||||
marionette))
|
||||
|
||||
;; NOTE: Since the fix of the bug meant stopping gnu-store.mount
|
||||
;; during startup of guix-daemon service, check that it's started.
|
||||
;; Check only after some time, because the service might not be
|
||||
;; up yet right after the restart.
|
||||
(test-equal "gnu-store.mount is active after guix-daemon restart"
|
||||
0
|
||||
(marionette-eval '(system* "systemctl" "is-active"
|
||||
"gnu-store.mount")
|
||||
marionette))
|
||||
|
||||
(test-assert "screenshot after"
|
||||
(marionette-control (string-append "screendump " #$output
|
||||
"/after-install.ppm")
|
||||
@@ -340,3 +458,65 @@ script.")
|
||||
script.")
|
||||
(value (run-foreign-install-test archlinux-qcow2 name
|
||||
#:device "/dev/vdb3"))))
|
||||
|
||||
(define ubuntu-qcow2
|
||||
(let ((filename "noble-server-cloudimg-amd64.img"))
|
||||
(origin
|
||||
(uri (string-append "https://cloud-images.ubuntu.com/noble/20251213/" filename))
|
||||
(method url-fetch)
|
||||
(sha256
|
||||
(base32
|
||||
"07zbqlxg8524p7igwrpwrf5kwc6qam78f7023ihfy38qx3zr0prb")))))
|
||||
|
||||
(define ubuntu-libsuid4-deb-file
|
||||
;; This package is a dependency of uidmap that's missing in the image.
|
||||
(origin
|
||||
(uri
|
||||
"https://archive.ubuntu.com/ubuntu/pool/main/s/shadow/libsubid4_4.13+dfsg1-4ubuntu3_amd64.deb")
|
||||
(method url-fetch)
|
||||
(sha256
|
||||
(base32
|
||||
"1g2rypacgc0gp55wy3lxsa454m072c21cgzdzaf8zlpg4dv9k08l"))))
|
||||
|
||||
(define ubuntu-uidmap-deb-file
|
||||
;; This package provides 'newgidmap' & co., used by the unprivileged daemon.
|
||||
(origin
|
||||
(uri
|
||||
"https://archive.ubuntu.com/ubuntu/pool/main/s/shadow/uidmap_4.13+dfsg1-4ubuntu3_amd64.deb")
|
||||
(method url-fetch)
|
||||
(sha256
|
||||
(base32
|
||||
"1y8sw1shsxaan2icl6ajr2mwm6n69mvqzxmjl98sj4i82hdlm6nw"))))
|
||||
|
||||
(define %test-ubuntu-install
|
||||
(system-test
|
||||
(name "ubuntu-install")
|
||||
(description
|
||||
"Test installation of Guix on Ubuntu using the @file{guix-install.sh}
|
||||
script.")
|
||||
(value (run-foreign-install-test ubuntu-qcow2 name
|
||||
#:deb-files (list ubuntu-libsuid4-deb-file
|
||||
ubuntu-uidmap-deb-file)
|
||||
#:resize-image "+1G"
|
||||
#:resize-proc resize-ext4-partition))))
|
||||
(define fedora-qcow2
|
||||
(origin
|
||||
(uri "https://download.fedoraproject.org/pub/fedora/linux/releases/43/Server/x86_64/images/Fedora-Server-Guest-Generic-43-1.6.x86_64.qcow2")
|
||||
(method url-fetch)
|
||||
(sha256
|
||||
(base32
|
||||
"0j142kbrfcv9fwds4bw57dqhnjvpzd6d6m15ar3sgf1yw9dq0pac"))))
|
||||
|
||||
;; This test starts failing when derivations in repo for GNU Hello and its dependencies
|
||||
;; differs from versions in current Guix package. The simple way to fix it is to update
|
||||
;; Guix package version.
|
||||
(define %test-fedora-install
|
||||
(system-test
|
||||
(name "fedora-install")
|
||||
(description
|
||||
"Test installation of Guix on Fedora Linux using the @file{guix-install.sh}
|
||||
script.")
|
||||
(value (run-foreign-install-test fedora-qcow2 name
|
||||
#:device "/dev/systemVG/LVRoot"
|
||||
#:resize-image "+1G"
|
||||
#:resize-proc resize-lvm-xfs-partition))))
|
||||
|
||||
@@ -1901,7 +1901,9 @@ build (current-guix) and then store a couple of full system images.")
|
||||
#$marionette)
|
||||
(screenshot "installer-start.ppm")
|
||||
|
||||
(marionette-eval* '(choose-locale+keyboard installer-socket)
|
||||
(marionette-eval* '(choose-locale+keyboard
|
||||
installer-socket
|
||||
#:timezone '("Europe" "Paris"))
|
||||
#$marionette)
|
||||
(screenshot "installer-locale.ppm")
|
||||
|
||||
|
||||
+17
-5
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018-2021, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018-2021, 2024-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -193,16 +193,28 @@ when applicable."
|
||||
(current-channel-entries))))
|
||||
|
||||
(define (append-channels-to-load-path!)
|
||||
"Automatically add channels to Guile's search path. Channels are added to the
|
||||
end of the path so they don't override Guix' own modules.
|
||||
"Add channels to Guile's search path. Channels are added right after the
|
||||
'guix' channel so they don't override Guix' own modules, but before entries
|
||||
coming from $GUILE_LOAD_PATH.
|
||||
|
||||
This procedure ensures that channels are only added to the search path once
|
||||
even if it is called multiple times."
|
||||
(let ((channels-scm channels-go (package-path-entries)))
|
||||
;; The 'guix' binary, both from 'guix pull' and from the 'guix' package,
|
||||
;; adds the 'guix' channel as the first element of the search path. Thus,
|
||||
;; append CHANNELS-SCM and CHANNELS-GO right after that.
|
||||
;;
|
||||
;; Adding channels to the back of the search path, and thus after anything
|
||||
;; that happens to be in $GUILE_LOAD_PATH, could lead to loading the wrong
|
||||
;; package modules: <https://codeberg.org/guix/guix/issues/4819>.
|
||||
(set! %load-path
|
||||
(append %load-path channels-scm))
|
||||
(match %load-path
|
||||
((head . tail)
|
||||
(append (list head) channels-scm tail))))
|
||||
(set! %load-compiled-path
|
||||
(append %load-compiled-path channels-go)))
|
||||
(match %load-compiled-path
|
||||
((head . tail)
|
||||
(append (list head) channels-go tail)))))
|
||||
(set! append-channels-to-load-path! (lambda () #t)))
|
||||
|
||||
(define (package-channels package)
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@
|
||||
(define revkeysig-rx ; good signature, but revoked key
|
||||
(make-regexp "^\\[GNUPG:\\] REVKEYSIG ([[:xdigit:]]+) (.*)$"))
|
||||
(define errsig-rx
|
||||
;; Note: The fingeprint part (the last element of the line) appeared in
|
||||
;; Note: The fingerprint part (the last element of the line) appeared in
|
||||
;; GnuPG 2.2.7 according to 'doc/DETAILS', and it may be missing.
|
||||
(make-regexp
|
||||
"^\\[GNUPG:\\] ERRSIG ([[:xdigit:]]+) ([^ ]+) ([^ ]+) ([^ ]+) ([[:digit:]]+) ([[:digit:]]+)(.*)"))
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
(define* (composer-fetch name #:key version partial-version?)
|
||||
"Return a composer-package representation of the Composer metadata for the
|
||||
package NAME with optional VERSION, or #f on failure. VERSION may be gien as
|
||||
package NAME with optional VERSION, or #f on failure. VERSION may be given as
|
||||
version prefix if PARTIAL-VERSION? is #t."
|
||||
(and-let* ((url (string-append (%composer-base-url) "/p/" name ".json"))
|
||||
(packages (and=> (json-fetch url)
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
(define string->license
|
||||
(match-lambda
|
||||
;; List of valid values from https://metacpan.org/pod/CPAN::Meta::Spec.
|
||||
;; Some licenses are excluded based on their absense from (guix licenses).
|
||||
;; Some licenses are excluded based on their absence from (guix licenses).
|
||||
("agpl_3" 'agpl3)
|
||||
;; apache_1_1
|
||||
("apache_2_0" 'asl2.0)
|
||||
|
||||
@@ -300,7 +300,7 @@ referencing all imported sources."
|
||||
(string-append (crate-name->package-name name) "-" version))
|
||||
,@(if (or (string-suffix? "src" name)
|
||||
(string-suffix? "sys" name))
|
||||
(list (comment ";; TODO: Check bundled sources.\n" #f))
|
||||
(list (comment ";; TODO REVIEW: Check bundled sources.\n" #f))
|
||||
'())
|
||||
(crate-source ,name ,version
|
||||
,(bytevector->nix-base32-string
|
||||
@@ -327,7 +327,7 @@ referencing all imported sources."
|
||||
,(string->symbol
|
||||
(string-append (crate-name->package-name name) "-" version))
|
||||
,(comment
|
||||
";; TODO: Define standalone package if this is a workspace.\n"
|
||||
";; TODO REVIEW: Define standalone package if this is a workspace.\n"
|
||||
#f)
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
(define (cargo-lock-string->scm str)
|
||||
(peg:tree (search-for-pattern cargo-lock str)))
|
||||
|
||||
;; Auxiliar peg patterns
|
||||
;; Auxiliary peg patterns
|
||||
(define-peg-pattern numeric-char body
|
||||
(range #\0 #\9))
|
||||
|
||||
|
||||
@@ -222,7 +222,7 @@ object."
|
||||
(define (filter-dependencies dependencies own-names)
|
||||
"Filter the dependencies included with the GHC compiler from DEPENDENCIES, a
|
||||
list with the names of dependencies. OWN-NAMES is the name of the Cabal
|
||||
package being processed and its internal libaries and is used to filter
|
||||
package being processed and its internal libraries and is used to filter
|
||||
references to itself."
|
||||
(let ((ignored-dependencies (map string-downcase
|
||||
(append own-names ghc-standard-libraries))))
|
||||
|
||||
@@ -57,7 +57,7 @@ enable caching, supply 'http-fetch/cached'."
|
||||
result)))
|
||||
|
||||
(define (json->code file-name)
|
||||
"Read FILE-NAME containing one ore more JSON package definitions and return
|
||||
"Read FILE-NAME containing one or more JSON package definitions and return
|
||||
a list of S-expressions, or return #F when the JSON is invalid."
|
||||
(catch 'json-invalid
|
||||
(lambda ()
|
||||
|
||||
+1
-1
@@ -307,7 +307,7 @@ at URI, which may be a file:// URI pointing the package's tree."
|
||||
"https://www.gnu.org/licenses/license-list#CDDL"))
|
||||
|
||||
;; CDDL1.1 is the same as 1.0, except that "Sun Microsystems, Inc" becomes "Oracle",
|
||||
;; "LOST PROFITS" becoms "LOSS OF GOODWILL" and a section is added between 6.2
|
||||
;; "LOST PROFITS" becomes "LOSS OF GOODWILL" and a section is added between 6.2
|
||||
;; and 6.3.
|
||||
(define cddl1.1
|
||||
(license "CDDL 1.1"
|
||||
|
||||
+1
-1
@@ -243,7 +243,7 @@ representation."
|
||||
(define-compile-time-decoder base32 nix-base32-string->bytevector)
|
||||
(define-compile-time-decoder base64 base64-decode)
|
||||
|
||||
;; Crytographic content hash.
|
||||
;; Cryptographic content hash.
|
||||
(define-immutable-record-type <content-hash>
|
||||
(%content-hash algorithm value)
|
||||
content-hash?
|
||||
|
||||
@@ -122,7 +122,7 @@ PROC callback."
|
||||
|
||||
(define (process-args args)
|
||||
(match args
|
||||
;; Workaround to accpet ‘--insert=FILE’, for the consistency of
|
||||
;; Workaround to accept ‘--insert=FILE’, for the consistency of
|
||||
;; command-line interface.
|
||||
((arg . rest)
|
||||
(if (string-prefix? "--insert=" arg)
|
||||
|
||||
@@ -326,6 +326,7 @@ variables by running:
|
||||
@example
|
||||
GUIX_PROFILE=\"~a\"
|
||||
. \"$GUIX_PROFILE/etc/profile\"
|
||||
unset GUIX_PROFILE
|
||||
@end example
|
||||
|
||||
Alternately, see @command{guix package --search-paths -p ~s}.")
|
||||
|
||||
+1
-1
@@ -319,7 +319,7 @@ VARIABLE and return it, or #f if none was found."
|
||||
(define %hint-color (color BOLD CYAN))
|
||||
|
||||
(define (texinfo-quote str)
|
||||
"Quote at signs and braces in STR to obtain its Texinfo represention."
|
||||
"Quote at signs and braces in STR to obtain its Texinfo representation."
|
||||
(list->string
|
||||
(string-fold-right (lambda (chr result)
|
||||
(if (memq chr '(#\@ #\{ #\}))
|
||||
|
||||
@@ -103,7 +103,7 @@ struct Settings {
|
||||
/* The canonical system name, as returned by config.guess. */
|
||||
string thisSystem;
|
||||
|
||||
/* The maximum time in seconds that a builer can go without
|
||||
/* The maximum time in seconds that a builder can go without
|
||||
producing any output on stdout/stderr before it is killed. 0
|
||||
means infinity. */
|
||||
time_t maxSilentTime;
|
||||
|
||||
@@ -357,7 +357,7 @@ Path addPermRoot(StoreAPI & store, const Path & storePath,
|
||||
|
||||
|
||||
/* Sort a set of paths topologically under the references relation.
|
||||
If p refers to q, then p preceeds q in this list. */
|
||||
If p refers to q, then p precedes q in this list. */
|
||||
Paths topoSortPaths(StoreAPI & store, const PathSet & paths);
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -170,7 +170,7 @@ void writeToStderr(const string & s);
|
||||
inline void (*_writeToStderr) (const unsigned char * buf, size_t count) = 0;
|
||||
|
||||
|
||||
/* Wrappers arount read()/write() that read/write exactly the
|
||||
/* Wrappers around read()/write() that read/write exactly the
|
||||
requested number of bytes. */
|
||||
void readFull(int fd, unsigned char * buf, size_t count);
|
||||
void writeFull(int fd, const unsigned char * buf, size_t count);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# German translations for the Guix Cookbook.
|
||||
# Copyright (C) 2019, 2020 the authors of Guix (msgids) and the following authors (msgstr)
|
||||
# This file is distributed under the same license as the guix manual package.
|
||||
# Florian Pelz <pelzflorian@pelzflorian.de>, 2020, 2021, 2022, 2023, 2024, 2025.
|
||||
# Florian Pelz <pelzflorian@pelzflorian.de>, 2020, 2021, 2022, 2023, 2024, 2025, 2026.
|
||||
# Jens Maucher <jensmaucher@gmail.com>, 2023.
|
||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2024, 2025.
|
||||
msgid ""
|
||||
@@ -9,7 +9,7 @@ msgstr ""
|
||||
"Project-Id-Version: guix 1.0.1.4876-09145-dirty\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-12-10 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-03 14:14+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/guix/documentation-cookbook/de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
msgid "@documentencoding UTF-8"
|
||||
msgstr ""
|
||||
@@ -28,6 +28,9 @@ msgstr ""
|
||||
msgid "GNU Guix Cookbook"
|
||||
msgstr "GNU-Guix-Kochbuch"
|
||||
|
||||
msgid "Copyright @copyright{} 2019, 2022 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@* Copyright @copyright{} 2020 Oleg Pykhalov@* Copyright @copyright{} 2020 Matthew Brooks@* Copyright @copyright{} 2020 Marcin Karpezo@* Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 André Batista@* Copyright @copyright{} 2020 Christine Lemmer-Webber@* Copyright @copyright{} 2021 Joshua Branson@* Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2023-2025 Ludovic Courtès@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2024 Florian Pelz@* Copyright @copyright{} 2025 45mg@* Copyright @copyright{} 2023 Marek Felšöci@* Copyright @copyright{} 2023 Konrad Hinsen@* Copyright @copyright{} 2023 Philippe Swartvagher@*"
|
||||
msgstr "Copyright @copyright{} 2019, 2022 Ricardo Wurmus@* Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Pierre Neidhardt@* Copyright @copyright{} 2020 Oleg Pykhalov@* Copyright @copyright{} 2020 Matthew Brooks@* Copyright @copyright{} 2020 Marcin Karpezo@* Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 André Batista@* Copyright @copyright{} 2020 Christine Lemmer-Webber@* Copyright @copyright{} 2021 Joshua Branson@* Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2023-2025 Ludovic Courtès@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2024 Florian Pelz@* Copyright @copyright{} 2025 45mg@* Copyright @copyright{} 2023 Marek Felšöci@* Copyright @copyright{} 2023 Konrad Hinsen@* Copyright @copyright{} 2023 Philippe Swartvagher@*"
|
||||
|
||||
msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''."
|
||||
msgstr "Es ist Ihnen gestattet, dieses Dokument zu vervielfältigen, weiterzugeben und/oder zu verändern, unter den Bedingungen der GNU Free Documentation License, entweder gemäß Version 1.3 der Lizenz oder (nach Ihrer Option) einer späteren Version, die von der Free Software Foundation veröffentlicht wurde, ohne unveränderliche Abschnitte, ohne vorderen Umschlagtext und ohne hinteren Umschlagtext. Eine Kopie der Lizenz finden Sie im Abschnitt mit dem Titel „GNU-Lizenz für freie Dokumentation“."
|
||||
|
||||
@@ -103,6 +106,12 @@ msgstr "Umgebungen verwalten"
|
||||
msgid "Control environment"
|
||||
msgstr "Umgebungen festlegen."
|
||||
|
||||
msgid "Reproducible Research"
|
||||
msgstr "Reproduzierbare Wissenschaft"
|
||||
|
||||
msgid "A foundation for reproducible research."
|
||||
msgstr "Eine Grundlage für reproduzierbare Wissenschaft."
|
||||
|
||||
msgid "Installing Guix on a Cluster"
|
||||
msgstr "Auf einem Rechencluster installieren"
|
||||
|
||||
@@ -376,6 +385,9 @@ msgstr "Guix-Umgebung mit direnv"
|
||||
msgid "Setup Guix environment with direnv"
|
||||
msgstr "Mit direnv Guix-Umgebungen einrichten."
|
||||
|
||||
msgid "Using Guix for Reproducible Research"
|
||||
msgstr "Guix zur reproduzierbaren Wissenschaft heranziehen"
|
||||
|
||||
msgid "Setting Up a Head Node"
|
||||
msgstr "Den Zentralrechner konfigurieren"
|
||||
|
||||
|
||||
@@ -15,15 +15,15 @@ msgstr ""
|
||||
"Project-Id-Version: guix manual checkout\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-12-10 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-05 00:10+0000\n"
|
||||
"Last-Translator: fkeiler <fkeiler@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2026-01-15 02:39+0000\n"
|
||||
"Last-Translator: arthurhdrodrigues <arthurhdrodrigues@noreply.codeberg.org>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/guix/documentation-cookbook/pt_BR/>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
msgid "@documentencoding UTF-8"
|
||||
msgstr ""
|
||||
@@ -5537,6 +5537,13 @@ msgstr ""
|
||||
msgid "The file @file{/etc/qemu/bridge.conf} must also be made to allow the bridge interface, as the default is to deny all. Add the following to your list of services to do so:"
|
||||
msgstr "O arquivo @file{/etc/qemu/bridge.conf} também deve ser feito para permitir a interface bridge, já que o padrão é negar tudo. Adicione o seguinte à sua lista de serviços para fazer isso:"
|
||||
|
||||
msgid ""
|
||||
"(extra-special-file \"/etc/qemu/host.conf\"\n"
|
||||
" (plain-file \"host.conf\" \"allow br0\\n\"))\n"
|
||||
msgstr ""
|
||||
"(extra-special-file \"/etc/qemu/host.conf\"\n"
|
||||
" (plain-file \"host.conf\" \"allow br0\\n\"))\n"
|
||||
|
||||
msgid "Invoking QEMU with the right command line options"
|
||||
msgstr "Invocando QEMU com as opções de linha de comando corretas"
|
||||
|
||||
@@ -7355,7 +7362,7 @@ msgid "The first step is to identify precisely what packages you need in your so
|
||||
msgstr "O primeiro passo é identificar precisamente quais pacotes você necessita em seu ambiente de software para executar seu experimento computacional."
|
||||
|
||||
msgid "Assuming you have a Python script that uses NumPy, you can start by creating an environment that contains these two packages and to run your code in that environment (@pxref{Invoking guix shell,,, guix, GNU Guix Reference Manual}):"
|
||||
msgstr "Assumindo que você tenha um script Python que utilize NumPy, você pode iniciar criando um ambiente que contenha esses dois pacotes e executando o seu código nesse ambiente (@pxref{Invocando guix shell,,, guix, Manual de referência do GNU Guix}):"
|
||||
msgstr "Assumindo que você tenha um script Python que utilize NumPy, você pode iniciar criando um ambiente que contenha esses dois pacotes e executando o seu código nesse ambiente (@pxref{Invocando guix shell,,, guix.pt_BR, Manual de referência do GNU Guix}):"
|
||||
|
||||
msgid "guix shell -C python python-numpy -- python3 ./myscript.py\n"
|
||||
msgstr "guix shell -C python python-numpy -- python3 ./myscript.py\n"
|
||||
@@ -7383,7 +7390,7 @@ msgid "guix shell -C gcc-toolchain cmake coreutils grep sed make -- @dots{}\n"
|
||||
msgstr "guix shell -C gcc-toolchain cmake coreutils grep sed make -- @dots{}\n"
|
||||
|
||||
msgid "Or perhaps you'll find that you could just as well provide a package definition for your code---@pxref{Defining Packages,,, guix, GNU Guix Reference Manual}, to learn more on how to do that."
|
||||
msgstr "Ou talvez você descobrirá que poderia muito bem fornecer uma definição de pacote para seu código---@pxref{Definindo pacotes,,, guix, Manual de referência do GNU Guix}, para aprender como fazer isso."
|
||||
msgstr "Ou talvez você descobrirá que poderia muito bem fornecer uma definição de pacote para seu código---@pxref{Definindo pacotes,,, guix.pt_BR, Manual de referência do GNU Guix}, para aprender como fazer isso."
|
||||
|
||||
msgid "Eventually, you'll have a list of packages that satisfies your needs."
|
||||
msgstr "Eventualmente você terá uma lista de pacotes que satisfaz suas necessidades."
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"Project-Id-Version: guix manual checkout\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-12-10 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-03 14:14+0000\n"
|
||||
"PO-Revision-Date: 2026-01-14 01:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/guix/documentation-cookbook/ru/>\n"
|
||||
"Language: ru\n"
|
||||
@@ -21,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
msgid "@documentencoding UTF-8"
|
||||
msgstr "@documentencoding UTF-8"
|
||||
@@ -54,7 +54,7 @@ msgid "This document presents tutorials and detailed examples for GNU@tie{}Guix,
|
||||
msgstr "В этом документе представлены учебные пособия и подробные примеры для GNU@tie{}Guix, инструмента для функционального управления пакетами, написанного для системы GNU. Пожалуйста, @pxref{Top,,, guix.ru, справочное руководство GNU Guix} для получения подробной информации о системе, ее API и связанных с ней идеях."
|
||||
|
||||
msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix-cookbook.zh_CN, GNU Guix 烹饪书}), French (@pxref{Top,,, guix-cookbook.fr, Livre de recettes de GNU Guix}), German (@pxref{Top,,, guix-cookbook.de, GNU-Guix-Kochbuch}), Korean (@pxref{Top,,, guix-cookbook.ko, GNU Guix 쿡북}), Spanish (@pxref{Top,,, guix-cookbook.es, Libro de recetas de GNU Guix}), Italian (@pxref{Top,,, guix-cookbook.it, Ricettario di GNU Guix}), Brazilian Portuguese (@pxref{Top,,, guix-cookbook.pt_BR, Livro de receitas do GNU Guix}), Russian (@pxref{Top,,, guix-cookbook.ru, GNU Guix Рецепты}), Slovak (@pxref{Top,,, guix-cookbook.sk, Receptár GNU Guix}), Swedish (@pxref{Top,,, guix-cookbook.sv, Kokbok för GNU Guix}), and Tamil (@pxref{Top,,, guix-cookbook.ta, GNU Guix கையேடு}). If you would like to translate this document in your native language, consider joining @uref{https://translate.codeberg.org/projects/guix/documentation-cookbook, Weblate} (@pxref{Translating Guix,,, guix, GNU Guix Reference Manual})."
|
||||
msgstr "Это руководство также доступно на английском (@pxref{Top,,, guix-cookbook, GNU Guix Cookbook}), (упрощённом) китайском языке (@pxref{Top,,, guix-cookbook.zh_CN, GNU Guix 烹饪书}), французском (@pxref{Top,,, guix-cookbook.fr, Livre de recettes de GNU Guix}), немецком (@pxref{Top,,, guix-cookbook.de, GNU-Guix-Kochbuch}), корейском (@pxref{Top,,, guix-cookbook.ko, GNU Guix 쿡북}), испанском (@pxref{Top,,, guix-cookbook.es, Libro de recetas de GNU Guix}), итальянском (@pxref{Top,,, guix-cookbook.it, Ricettario di GNU Guix}), бразильский португальский (@pxref{Top,,, guix-cookbook.pt_BR, Livro de receitas do GNU Guix}), словацкий (@pxref{Top,,, guix-cookbook.sk, Receptár GNU Guix}), шведский (@pxref{Top,,, guix-cookbook.sv, Kokbok för GNU Guix}) и тами́льском (@pxref{Top,,, guix-cookbook.ta, GNU Guix கையேடு}). Если вы хотите перевести этот документ на свой родной язык, присоединяйтесь к @uref{https://translate.codeberg.org/projects/guix/documentation-cookbook, Weblate} (@pxref{Перевод Guix на другие языки,,, guix.ru, Руководство по GNU Guix})."
|
||||
msgstr "Это руководство также доступно на английском (@pxref{Top,,, guix-cookbook, GNU Guix Cookbook}), (упрощённом) китайском языке (@pxref{Top,,, guix-cookbook.zh_CN, GNU Guix 烹饪书}), французском (@pxref{Top,,, guix-cookbook.fr, Livre de recettes de GNU Guix}), немецком (@pxref{Top,,, guix-cookbook.de, GNU-Guix-Kochbuch}), корейском (@pxref{Top,,, guix-cookbook.ko, GNU Guix 쿡북}), испанском (@pxref{Top,,, guix-cookbook.es, Libro de recetas de GNU Guix}), итальянском (@pxref{Top,,, guix-cookbook.it, Ricettario di GNU Guix}), бразильский португальский (@pxref{Top,,, guix-cookbook.pt_BR, Livro de receitas do GNU Guix}), словацкий (@pxref{Top,,, guix-cookbook.sk, Receptár GNU Guix}), шведский (@pxref{Top,,, guix-cookbook.sv, Kokbok för GNU Guix}) и тами́льском (@pxref{Top,,, guix-cookbook.ta, GNU Guix கையேடு}). Если вы хотите перевести этот документ на свой родной язык, присоединяйтесь к @uref{https://translate.codeberg.org/projects/guix/documentation-cookbook, Weblate} (@pxref{Перевод Guix на другие языки,,, guix.ru, Руководство по GNU Guix})."
|
||||
|
||||
msgid "Scheme tutorials"
|
||||
msgstr "Учебник по Scheme"
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix manual checkout\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-12-01 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-03 14:14+0000\n"
|
||||
"POT-Creation-Date: 2025-12-10 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-15 02:39+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Swedish <https://translate.codeberg.org/projects/guix/documentation-cookbook/sv/>\n"
|
||||
"Language: sv\n"
|
||||
@@ -16,7 +16,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
msgid "GNU Guix Cookbook"
|
||||
msgstr "Kokbok för GNU Guix"
|
||||
@@ -97,7 +97,7 @@ msgid "High-performance computing."
|
||||
msgstr "Högpresterande databehandling."
|
||||
|
||||
msgid "Acknowledgments"
|
||||
msgstr "Erkännanden"
|
||||
msgstr "Erkännande"
|
||||
|
||||
msgid "Thanks!"
|
||||
msgstr "Tack!"
|
||||
@@ -112,7 +112,7 @@ msgid "Concept Index"
|
||||
msgstr "Begreppslista"
|
||||
|
||||
msgid "Concepts."
|
||||
msgstr "Begrepp."
|
||||
msgstr "Koncepter."
|
||||
|
||||
msgid "A Scheme Crash Course"
|
||||
msgstr "En snabbkurs i Scheme"
|
||||
|
||||
+133
-57
@@ -2,7 +2,7 @@
|
||||
# Copyright (C) 2012-2020 the authors of Guix (msgids) and the following authors (msgstr)
|
||||
# This file is distributed under the same license as the guix manual package.
|
||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2018.
|
||||
# Florian Pelz <pelzflorian@pelzflorian.de>, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025.
|
||||
# Florian Pelz <pelzflorian@pelzflorian.de>, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026.
|
||||
# Jonathan Brielmaier <jonathan.brielmaier@web.de>, 2019, 2024.
|
||||
# Adina Wagner <adina.wagner@t-online.de>, 2021.
|
||||
# Ettore Atalan <atalanttore@googlemail.com>, 2021.
|
||||
@@ -14,8 +14,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix-manual 1.2.0-pre3\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 14:56+0000\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-15 02:39+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/guix/documentation-manual/de/>\n"
|
||||
"Language: de\n"
|
||||
@@ -23,7 +23,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
|
||||
msgid "Contributing"
|
||||
@@ -260,11 +260,15 @@ msgstr "@url{https://gcc.gnu.org, GCC's g++} mit Unterstützung für den"
|
||||
msgid "C++11 standard."
|
||||
msgstr "C++11-Standard."
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "Wenn Sie an Guix selbst hacken wollen, ist es empfehlenswert, dass Sie die neueste Version aus dem Git-Softwarebestand verwenden:"
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository@footnote{ Guix uses @code{master} as the default branch name. A proposal in 2025 to change the default branch name to @code{main} did not reach consensus. See @uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/003-rename-default-branch.md, Guix Consensus Document 003}.}:"
|
||||
msgstr "Wenn Sie an Guix selbst hacken wollen, ist es empfehlenswert, dass Sie die neueste Version aus dem Git-Repository verwenden@footnote{Guix benutzt @code{master} als Name des Standard-Branchs. Zu einem Vorschlag in 2025, den standardmäßigen Branch-Namen in @code{main} zu ändern, gab es keine einstimmige Zustimmung. Siehe @uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/003-rename-default-branch.md, Guix Consensus Document 003}.}:"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgid ""
|
||||
"git clone https://git.guix.gnu.org/guix.git\n"
|
||||
"cd guix\n"
|
||||
msgstr ""
|
||||
"git clone https://git.guix.gnu.org/guix.git\n"
|
||||
"cd guix\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "Authentifizieren, eines Guix-Checkouts"
|
||||
@@ -296,12 +300,19 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "Oder kürzer, aus einem Git-Arbeitsverzeichnis von Guix heraus:"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
msgid ""
|
||||
"echo $(pwd) >> ~/.config/guix/shell-authorized-directories\n"
|
||||
"guix shell -CPW\n"
|
||||
msgstr ""
|
||||
"echo $(pwd) >> ~/.config/guix/shell-authorized-directories\n"
|
||||
"guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "Wenn @option{-C} (die Kurzform von @option{--container}) auf Ihrem System nicht unterstützt wird, können Sie @command{--pure} statt @option{-CPW} schreiben. Siehe @ref{Invoking guix shell} für mehr Informationen, was Sie mit diesem Befehl tun."
|
||||
|
||||
msgid "Most of the test suite runs without an internet connection. The @option{-N} (short for @option{--network}) can be added to the @code{guix shell} command to run the tests that require internet access."
|
||||
msgstr "Der Großteil des Testkatalogs läuft ohne Internetverbindung. Wenn Sie die Befehlszeilenoption @option{-N} (Kurzform von @option{--network}) an den Befehl @code{guix shell} übergeben, laufen auch diejenigen Tests, die einen Internetzugang brauchen."
|
||||
|
||||
msgid "If you are unable to use Guix when building Guix from a checkout, the following are the required packages in addition to those mentioned in the installation instructions (@pxref{Requirements})."
|
||||
msgstr "Wenn Sie Guix nicht benutzen können, wenn Sie es aus einem Checkout erstellen, werden die folgenden Pakete zusätzlich zu denen benötigt, die in den Installationsanweisungen angegeben sind (siehe @ref{Requirements})."
|
||||
|
||||
@@ -323,11 +334,8 @@ msgstr "@url{https://www.graphviz.org/, Graphviz},"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "Auf Guix können zusätzliche Abhängigkeiten hinzugefügt werden, indem Sie stattdessen @command{guix shell} ausführen:"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
msgid "guix shell -D guix -CPW strace\n"
|
||||
msgstr "guix shell -D guix -CPW strace\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "Damit können Sie die Infrastruktur des Erstellungssystems mit Autoconf und Automake erzeugen."
|
||||
@@ -4616,30 +4624,21 @@ msgstr "Installations-Skript"
|
||||
msgid "This section describes how to install Guix from a self-contained tarball providing binaries for Guix and for all its dependencies. This is often quicker than installing from source, described later (@pxref{Building from Git})."
|
||||
msgstr "Dieser Abschnitt beschreibt, wie Sie Guix aus einem alle Komponenten umfassenden Tarball installieren, der Binärdateien für Guix und all seine Abhängigkeiten liefert. Dies geht in der Regel schneller, als Guix aus seinen Quelldateien zu installieren, was später beschrieben wird."
|
||||
|
||||
msgid "Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "Auf einigen GNU/Linux-Distributionen, wie Debian, Ubuntu und openSUSE, wird Guix über deren Paketverwaltung angeboten. Vielleicht bringen sie eine ältere Version als @value{VERSION} mit, aber Sie können Guix anschließend über den Befehl @samp{guix pull} aktualisieren."
|
||||
msgid "Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "Auf einigen GNU/Linux-Distributionen, wie openSUSE, Alpine und NixOS, wird Guix über deren Paketverwaltung angeboten. Vielleicht bringen sie eine ältere Version als @value{VERSION} mit, aber Sie können Guix anschließend über den Befehl @samp{guix pull} aktualisieren."
|
||||
|
||||
msgid "We advise system administrators who install Guix, both from the installation script or @i{via} the native package manager of their foreign distribution, to also regularly read and follow security notices, as shown by @command{guix pull}."
|
||||
msgstr "Wir empfehlen Systemadministratoren, die Guix installieren, egal ob über das Installations-Skript oder über die Paketverwaltung ihrer Fremddistribution, regelmäßig die Sicherheitshinweise zu lesen und zu befolgen, die @command{guix pull} anzeigt."
|
||||
|
||||
msgid "For Debian or derivatives such as Ubuntu or Trisquel, call:"
|
||||
msgstr "Wenn Sie Debian oder ein Debian-Derivat wie Ubuntu oder Trisquel verwenden, rufen Sie auf:"
|
||||
|
||||
msgid "sudo apt install guix\n"
|
||||
msgstr "sudo apt install guix\n"
|
||||
|
||||
msgid "Likewise, on openSUSE:"
|
||||
msgstr "Das Gleiche gilt auf openSUSE:"
|
||||
|
||||
msgid "sudo zypper install guix\n"
|
||||
msgstr "sudo zypper install guix\n"
|
||||
|
||||
msgid "If you are running Parabola, after enabling the pcr (Parabola Community Repo) repository, you can install Guix with:"
|
||||
msgstr "Wenn bei Ihnen Parabola läuft, können Sie, nachdem Sie das Repository pcr (Parabola Community Repo) aktiviert haben, mit diesem Befehl Guix installieren:"
|
||||
|
||||
msgid "sudo pacman -S guix\n"
|
||||
msgstr "sudo pacman -S guix\n"
|
||||
|
||||
msgid "For other package managers with a @var{guix} package, you should be able to install it like any other package."
|
||||
msgstr "Bei anderen Paketverwaltungen mit einem @var{guix}-Paket können Sie es vermutlich wie jedes andere Paket installieren."
|
||||
|
||||
msgid "The Guix project also provides a shell script, @file{guix-install.sh}, which automates the binary installation process without use of a foreign distro package manager@footnote{@uref{https://guix.gnu.org/guix-install.sh}}. Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget, and Xz. On systems where @code{systemd} is detected, the tool @code{newgidmap} from the @code{uidmap} package is also required."
|
||||
msgstr "Das Guix-Projekt stellt außerdem ein Shell-Skript bereit, @file{guix-install.sh}, mit dem der Installationsvorgang aus Binärdateien ohne ein Paketverwaltungsprogramm der Fremddistribution automatisiert wird@footnote{@uref{https://guix.gnu.org/guix-install.sh}}. Um @file{guix-install.sh} benutzen zu können, werden Bash, GnuPG, GNU@tie{}tar, wget und Xz vorausgesetzt. Auf Systemen, wo @code{systemd} gefunden wird, brauchen Sie außerdem das Programm @code{newgidmap} aus dem Paket @code{uidmap} als Voraussetzung."
|
||||
|
||||
@@ -4760,6 +4759,12 @@ msgstr "Operationen wie das Erstellen eines Pakets oder Laufenlassen des Müllsa
|
||||
msgid "The following sections explain how to prepare the build daemon's environment. @xref{Substitutes} for how to allow the daemon to download pre-built binaries."
|
||||
msgstr "Folgende Abschnitte beschreiben, wie Sie die Umgebung des Erstellungs-Daemons ausstatten sollten. @xref{Substitutes} für Informationen darüber, wie Sie es dem Daemon ermöglichen, vorerstellte Binärdateien herunterzuladen."
|
||||
|
||||
msgid "AppArmor Support"
|
||||
msgstr "AppArmor-Unterstützung"
|
||||
|
||||
msgid "Using an AppArmor profile for the daemon."
|
||||
msgstr "Wie man ein AppArmor-Profil für den Daemon einrichtet."
|
||||
|
||||
msgid "build environment"
|
||||
msgstr "Erstellungsumgebung"
|
||||
|
||||
@@ -4852,6 +4857,9 @@ msgstr ""
|
||||
" -c \"Guix-Daemon-Benutzer zur Privilegientrennung\" \\\n"
|
||||
" --system guix-daemon\n"
|
||||
|
||||
msgid "If the @command{nologin} binary is not found by @command{which nologin}, you may need to specify its path manually. This will usually be @file{/sbin/nologin} or @file{/usr/sbin/nologin}."
|
||||
msgstr "Wenn das Programm @command{nologin} mit @command{which nologin} nicht gefunden werden kann, müssen Sie vielleicht seinen Pfad manuell angeben. Normalerweise lautet er @file{/sbin/nologin} oder @file{/usr/sbin/nologin}."
|
||||
|
||||
msgid "In this configuration, @file{/gnu/store} is owned by the @code{guix-daemon} user."
|
||||
msgstr "In dieser Konfiguration ist das Benutzerkonto @code{guix-daemon} der Besitzer von @file{/gnu/store}."
|
||||
|
||||
@@ -4937,6 +4945,9 @@ msgstr ""
|
||||
"systemctl daemon-reload\n"
|
||||
"systemctl start guix-daemon\n"
|
||||
|
||||
msgid "If your system has AppArmor enabled, @pxref{AppArmor Support}."
|
||||
msgstr "Wenn auf Ihrem System AppArmor eingeschaltet ist, siehe @ref{AppArmor Support}."
|
||||
|
||||
msgid "The commands above assume that @command{guix pull} was run for the root user. You can check whether this is the case by running this command:"
|
||||
msgstr "Bei obigen Befehlen gehen wir davon aus, dass @command{guix pull} bereits durch den root-Benutzer ausgeführt worden ist. Das können Sie mit diesem Befehl überprüfen:"
|
||||
|
||||
@@ -5313,6 +5324,42 @@ msgstr "Nach jeder Aktualisierung des @file{guix-daemon}, z.B.@: nachdem Sie @co
|
||||
msgid "We could generate a much more restrictive policy at installation time, so that only the @emph{exact} file name of the currently installed @code{guix-daemon} executable would be labelled with @code{guix_daemon_exec_t}, instead of using a broad regular expression. The downside is that root would have to install or upgrade the policy at installation time whenever the Guix package that provides the effectively running @code{guix-daemon} executable is upgraded."
|
||||
msgstr "Wir könnten zum Zeitpunkt der Installation eine wesentlich restriktivere Richtlinie generieren, für die nur @emph{genau derselbe} Dateiname des gerade installierten @code{guix-daemon}-Programms als @code{guix_daemon_exec_t} gekennzeichnet würde, statt einen vieles umfassenden regulären Ausdruck zu benutzen. Aber dann müsste der Administratornutzer zum Zeitpunkt der Installation jedes Mal die Richtlinie installieren oder aktualisieren müssen, sobald das Guix-Paket aktualisiert wird, dass das tatsächlich in Benutzung befindliche @code{guix-daemon}-Programm enthält."
|
||||
|
||||
msgid "AppArmor"
|
||||
msgstr "AppArmor"
|
||||
|
||||
msgid "Guix includes an AppArmor profile for the build daemon in @file{etc/apparmor.d/guix-daemon} that can be installed on systems with strict AppArmor policies to allow it to run unprivileged (@pxref{Build Environment Setup}). Indeed, the unprivileged daemon makes use of Linux user namespaces but these are disallowed without an AppArmor policy on some systems like Ubuntu."
|
||||
msgstr "Zu Guix gibt es ein AppArmor-Profil für den Erstellungsdaemon in @file{etc/apparmor.d/guix-daemon}. Es kann auf Systemen mit restriktiven AppArmor-Richtlinien installiert werden, damit er unprivilegiert laufen kann (siehe @ref{Build Environment Setup}). Der unprivilegierte Daemon benutzt nämlich Linux’ Benutzernamensräume (User Namespaces), aber die Rechte dazu hat er nur mit einer AppArmor-Richtlinie auf bestimmten Systemen wie etwa Ubuntu."
|
||||
|
||||
msgid "To know if this applies to you, check if the @code{kernel.apparmor_restrict_unprivileged_userns} kernel parameter is enabled."
|
||||
msgstr "Sie können feststellen, ob Ihr System dazugehört, indem Sie nachsehen, ob der Kernelparameter @code{kernel.apparmor_restrict_unprivileged_userns} aktiv ist."
|
||||
|
||||
msgid "Installing the AppArmor profile"
|
||||
msgstr "Installieren des AppArmor-Profils"
|
||||
|
||||
msgid "AppArmor, profile installation"
|
||||
msgstr "AppArmor, Profilinstallation"
|
||||
|
||||
msgid "Run these commands as root to install the profile:"
|
||||
msgstr "Führen Sie diese Befehle als der Administratornutzer root aus, um das Profil zu installieren:"
|
||||
|
||||
msgid ""
|
||||
"export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d\n"
|
||||
"cp -f -t /etc/apparmor.d/tunables \"$apparmor_sources/tunables/guix\"\n"
|
||||
"cp -f -t /etc/apparmor.d \"$apparmor_sources/guix-daemon\"\n"
|
||||
"cp -f -t /etc/apparmor.d \"$apparmor_sources/guix\"\n"
|
||||
"apparmor_parser -r /etc/apparmor.d/guix-daemon\n"
|
||||
"apparmor_parser -r /etc/apparmor.d/guix\n"
|
||||
msgstr ""
|
||||
"export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d\n"
|
||||
"cp -f -t /etc/apparmor.d/tunables \"$apparmor_sources/tunables/guix\"\n"
|
||||
"cp -f -t /etc/apparmor.d \"$apparmor_sources/guix-daemon\"\n"
|
||||
"cp -f -t /etc/apparmor.d \"$apparmor_sources/guix\"\n"
|
||||
"apparmor_parser -r /etc/apparmor.d/guix-daemon\n"
|
||||
"apparmor_parser -r /etc/apparmor.d/guix\n"
|
||||
|
||||
msgid "After this, the build daemon will be able to function correctly."
|
||||
msgstr "Dadurch funktioniert der Daemon jetzt."
|
||||
|
||||
msgid "Invoking @command{guix-daemon}"
|
||||
msgstr "Aufruf von @command{guix-daemon}"
|
||||
|
||||
@@ -15798,6 +15845,12 @@ msgstr "{REPL-Befehl} build @var{Objekt}"
|
||||
msgid "Lower @var{object} and build it if it's not already built, returning its output file name(s)."
|
||||
msgstr "Das @var{Objekt} herunterbrechen und erstellen, wenn es noch nicht erstellt ist. Als Ergebnis zurückgeliefert wird der Dateiname jeder Ausgabe."
|
||||
|
||||
msgid "{REPL command} graft? @var{graft?}"
|
||||
msgstr "{REPL-Befehl} graft? @var{Veredeln?}"
|
||||
|
||||
msgid "Set whether grafts should be performed as part of the build. Equivalent to @code{--no-grafts} argument to @code{guix build}."
|
||||
msgstr "Bestimmt, ob während der Erstellung Veredelungen durchgeführt werden sollen. Entspricht dem Argument @code{--no-grafts} für @code{guix build}."
|
||||
|
||||
msgid "{REPL command} lower @var{object}"
|
||||
msgstr "{REPL-Befehl} lower @var{Objekt}"
|
||||
|
||||
@@ -20986,6 +21039,23 @@ msgstr "Hiermit wird ein blockorientiertes Gerät mit LUKS verschlüsselt, mit H
|
||||
msgid "If @code{file} is provided, unlocking is first attempted using that key file. This has an advantage of not requiring a password entry, so it can be used (for example) to unlock RAID arrays automatically on boot. If key file unlock fails, password unlock is attempted as well. Key file is not stored in the store and needs to be available at the given location at the time of the unlock attempt."
|
||||
msgstr "Wenn Sie eine Schlüsseldatei angeben, wird zum Entsperren wenn möglich zunächst die Schlüsseldatei hergenommen. Der Vorteil davon ist, dass Sie kein Passwort eintippen müssen. Damit können Sie beispielsweise RAID-Arrays beim Booten automatisch entsperren. Wenn das Entsperren mit der Schlüsseldatei fehlschlägt, wird noch das Entsperren per Passwort versucht werden. Die Schlüsseldatei liegt @emph{nicht} im Store; sie muss zum Zeitpunkt des Entsperrungsversuchs an der angegebenen Stelle zu finden sein."
|
||||
|
||||
msgid ""
|
||||
";; Following definition would be equivalent to running:\n"
|
||||
";; cryptsetup open --key-file /crypto.key /dev/sdb1 data\n"
|
||||
"(mapped-device\n"
|
||||
" (source \"/dev/sdb1\")\n"
|
||||
" (target \"data\")\n"
|
||||
" (type luks-device-mapping)\n"
|
||||
" (arguments '(#:key-file \"/crypto.key\")))\n"
|
||||
msgstr ""
|
||||
";; Die folgende Definition ist gleichbedeutend mit dem Befehl:\n"
|
||||
";; cryptsetup open --key-file /crypto.key /dev/sdb1 data\n"
|
||||
"(mapped-device\n"
|
||||
" (source \"/dev/sdb1\")\n"
|
||||
" (target \"data\")\n"
|
||||
" (type luks-device-mapping)\n"
|
||||
" (arguments '(#:key-file \"/crypto.key\")))\n"
|
||||
|
||||
msgid "@code{allow-discards?} allows the use of discard (TRIM) requests for the underlying device. This is useful for solid state drives. However, this option can have a negative security impact because it can make file system level operations visible on the physical device. For more information, refer to the description of the @code{--allow-discards} option in the @code{cryptsetup-open(8)} man page."
|
||||
msgstr "Mit @code{allow-discards?} wird die Nutzung von TRIM-Steuerbefehlen auf dem zugrunde liegenden Gerät ermöglicht. Das ist nützlich auf @abbr{SSD-Laufwerken, Solid-State-Drives}. Der Nachteil ist aber, dass die Informationssicherheit beeinträchtigt werden kann, weil Operationen auf dem Dateisystem so das physische Gerät beeinflussen. Sie können weitergehende Informationen in der Beschreibung der Befehlszeilenoption @code{--allow-discards} auf der Handbuchseite @code{cryptsetup-open(8)} erfahren."
|
||||
|
||||
@@ -21928,6 +21998,9 @@ msgstr ""
|
||||
"(extra-special-file \"/usr/bin/env\"\n"
|
||||
" (file-append coreutils \"/bin/env\"))\n"
|
||||
|
||||
msgid "The special files persist on your system even after the @code{extra-special-file} call has been removed from your system config and the system has been reconfigured. The special files need to be removed manually."
|
||||
msgstr "Die besonderen Dateien bleiben auf Ihrem System bestehen, auch nachdem Sie den @code{extra-special-file}-Aufruf schon aus Ihrer Systemkonfiguration entfernt und das System rekonfiguriert haben. Sie müssen die besonderen Dateien manuell entfernen."
|
||||
|
||||
msgid "host-name-service-type"
|
||||
msgstr "host-name-service-type"
|
||||
|
||||
@@ -26814,9 +26887,6 @@ msgstr "Fensterverwaltung"
|
||||
msgid "To use X11, you must install at least one @dfn{window manager}---for example the @code{windowmaker} or @code{openbox} packages---preferably by adding it to the @code{packages} field of your operating system definition (@pxref{operating-system Reference, system-wide packages})."
|
||||
msgstr "Um X11 zu benutzen, müssen Sie ein Programme zur @dfn{Fensterverwaltung} („Window-Manager“) oder mehrere davon installieren@tie{}– zum Beispiel die Pakete @code{windowmaker} oder @code{openbox}@tie{}–, vorzugsweise indem Sie sie in das @code{packages}-Feld Ihrer Betriebssystemdefinition eintragen (siehe @ref{operating-system Reference, global sichtbare Pakete})."
|
||||
|
||||
msgid "wayland-gdm"
|
||||
msgstr "wayland-gdm"
|
||||
|
||||
msgid "GDM also supports Wayland: it can itself use Wayland instead of X11 for its user interface, and it can also start Wayland sessions. Wayland support is enabled by default. To disable it, set @code{wayland?} to @code{#f} in @code{gdm-configuration}."
|
||||
msgstr "GDM hat auch Unterstützung für Wayland: Es kann selbst als Wayland-Client statt mit X11 gestartet werden und Wayland-Sitzungen starten. Die Vorgabe ist, dass Wayland unterstützt wird. Um die Wayland-Unterstützung zu deaktivieren, setzen Sie @code{wayland?} auf @code{#f} in der @code{gdm-configuration}."
|
||||
|
||||
@@ -28549,9 +28619,6 @@ msgstr "Diese Dienste fügen „Metapakete“ wie @code{gnome} oder @code{plasma
|
||||
msgid "For example, they may elevate privileges on a limited number of special-purpose system interfaces and programs. This allows backlight adjustment helpers, power management utilities, screen lockers, and other integrated functionality to work as expected."
|
||||
msgstr "Zum Beispiel können so erhöhte Berechtigungen an eine begrenzte Zahl besonderer Systemschnittstellen und Programme verliehen werden, damit Hilfsprogramme zur Anpassung der Hintergrundbeleuchtung, des Energieverbrauchs, zum Sperren des Bildschirms oder andere zugehörige Funktionen wie erwartet laufen."
|
||||
|
||||
msgid "The desktop environments in Guix use the Xorg display server by default. If you'd like to use the newer display server protocol called Wayland, you need to enable Wayland support in GDM (@pxref{wayland-gdm}). Another solution is to use the @code{sddm-service} instead of GDM as the graphical login manager. You should then select the ``GNOME (Wayland)'' session in SDDM@. Alternatively you can also try starting GNOME on Wayland manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session``. Currently only GNOME has support for Wayland."
|
||||
msgstr "Die Arbeitsumgebungen in Guix benutzen standardmäßig den Xorg-Anzeigeserver. Falls Sie das neuere Anzeigeserverprotokoll namens Wayland benutzen möchten, müssen Sie die Wayland-Unterstützung in GDM aktivieren (siehe @ref{wayland-gdm}). Alternativ können Sie den Dienst @code{sddm-service} anstelle von GDM für die grafische Anmeldeverwaltung einrichten. Dann sollten Sie in SDDM die Sitzung „GNOME (Wayland)“ auswählen. Alternativ können Sie auch versuchen, GNOME mit Wayland manuell aus einer Konsole (TTY) mit dem Befehl „XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session“ zu starten. Derzeit wird Wayland nur von GNOME unterstützt."
|
||||
|
||||
msgid "gnome-desktop-service-type"
|
||||
msgstr "gnome-desktop-service-type"
|
||||
|
||||
@@ -30501,36 +30568,18 @@ msgstr "Redis"
|
||||
msgid "redis-service-type"
|
||||
msgstr "redis-service-type"
|
||||
|
||||
msgid "This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object."
|
||||
msgstr "Dies ist der Diensttyp für den Schlüssel-/Wert-Speicher @uref{https://redis.io/, Redis}, dessen Wert ein @code{redis-configuration}-Objekt ist."
|
||||
|
||||
msgid "{Data Type} redis-configuration"
|
||||
msgstr "{Datentyp} redis-configuration"
|
||||
|
||||
msgid "Data type representing the configuration of redis."
|
||||
msgstr "Der Datentyp, der die Konfiguration von redis repräsentiert."
|
||||
|
||||
msgid "@code{redis} (default: @code{redis})"
|
||||
msgstr "@code{redis} (Vorgabe: @code{redis})"
|
||||
|
||||
msgid "The Redis package to use."
|
||||
msgstr "Das zu benutzende Redis-Paket."
|
||||
|
||||
msgid "@code{bind} (default: @code{\"127.0.0.1\"})"
|
||||
msgstr "@code{bind} (Vorgabe: @code{\"127.0.0.1\"})"
|
||||
|
||||
msgid "Network interface on which to listen."
|
||||
msgstr "Die Netzwerkschnittstelle, auf der gelauscht wird."
|
||||
|
||||
msgid "@code{port} (default: @code{6379})"
|
||||
msgstr "@code{port} (Vorgabe: @code{6379})"
|
||||
|
||||
msgid "Port on which to accept connections on, a value of 0 will disable listening on a TCP socket."
|
||||
msgstr "Der Port, auf dem Verbindungen akzeptiert werden. Ist der Wert 0, wird das Lauschen auf einem TCP-Socket deaktiviert."
|
||||
|
||||
msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})"
|
||||
msgstr "@code{working-directory} (Vorgabe: @code{\"/var/lib/redis\"})"
|
||||
|
||||
msgid "Directory in which to store the database and related files."
|
||||
msgstr "Das Verzeichnis, in dem die Datenbank und damit zu tun habende Dateien gespeichert werden."
|
||||
|
||||
@@ -47480,8 +47529,8 @@ msgstr "Durch die Befehlszeilenoption @code{--list-image-types} werden alle verf
|
||||
msgid "creating virtual machine images"
|
||||
msgstr "Abbilder für virtuelle Maschinen erzeugen"
|
||||
|
||||
msgid "When using the @code{qcow2} image type, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more information on how to run the image in a virtual machine. The @code{grub-bootloader} bootloader is always used independently of what is declared in the @code{operating-system} file passed as argument. This is to make it easier to work with QEMU, which uses the SeaBIOS BIOS by default, expecting a bootloader to be installed in the Master Boot Record (MBR)."
|
||||
msgstr "Wenn Sie den Abbildtypen @code{qcow2} benutzen, wird ein Abbild im qcow2-Format geliefert, das vom QEMU-Emulator effizient benutzt werden kann. Siehe @ref{Running Guix in a VM} für weitere Informationen, wie Sie das Abbild in einer virtuellen Maschine ausführen. Als Bootloader wird immer @code{grub-bootloader} benutzt, egal was in der als Argument übergebenen @code{operating-system}-Datei deklariert wurde. Der Grund dafür ist, dass dieser besser mit QEMU funktioniert, das als BIOS nach Voreinstellung SeaBIOS benutzt, wo erwartet wird, dass ein Bootloader in den Master Boot Record (MBR) installiert wurde."
|
||||
msgid "When using the @code{qcow2} image type, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more information on how to run the image in a virtual machine. The @code{grub-bootloader} bootloader is always used independently of what is declared in the @code{operating-system} file passed as argument. This is to make it easier to work with QEMU, which uses the SeaBIOS BIOS by default, expecting a bootloader to be installed in the Master Boot Record (MBR). In case the virtual machine is going to be AArch64, you might want to take a look at @code{qcow2-gpt} image type that installs bootloader only in EFI."
|
||||
msgstr "Wenn Sie den Abbildtypen @code{qcow2} benutzen, wird ein Abbild im qcow2-Format geliefert, das vom QEMU-Emulator effizient benutzt werden kann. Siehe @ref{Running Guix in a VM} für weitere Informationen, wie Sie das Abbild in einer virtuellen Maschine ausführen. Als Bootloader wird immer @code{grub-bootloader} benutzt, egal was in der als Argument übergebenen @code{operating-system}-Datei deklariert wurde. Der Grund dafür ist, dass dieser besser mit QEMU funktioniert, das als BIOS nach Voreinstellung SeaBIOS benutzt, wo erwartet wird, dass ein Bootloader in den Master Boot Record (MBR) installiert wurde. Für den Fall, dass die virtuelle Maschine auf AArch64 läuft, ziehen Sie den Abbildtypen @code{qcow2-gpt} in Betracht, der den Bootloader nur im EFI installiert."
|
||||
|
||||
msgid "docker-image, creating docker images"
|
||||
msgstr "docker-image, Abbilder für Docker erzeugen"
|
||||
@@ -48659,6 +48708,12 @@ msgstr "@code{requirement} (Vorgabe: @code{'()})"
|
||||
msgid "List of symbols denoting the Shepherd services this one depends on."
|
||||
msgstr "Eine Liste von Symbolen, die angeben, von welchen anderen Shepherd-Diensten dieser hier abhängt."
|
||||
|
||||
msgid "With very few exceptions, services that start a daemon must depend at least on the @code{user-processes} service; this ensures that these daemons are started after all the file systems have been mounted and that, during shutdown, they are stopped before attempting to terminate remaining user processes."
|
||||
msgstr "Mit sehr wenigen Ausnahmen müssen Dienste, die einen Daemon starten, mindestens vom @code{user-processes}-Dienst abhängen; so wird sichergestellt, dass Daemons nach Einbindung aller Dateisysteme gestartet werden und dass sie beim Herunterfahren gestoppt wurden, bevor versucht wird, verbleibende Nutzerprozesse zu beenden."
|
||||
|
||||
msgid "Similarly, services that do make mounts during their startup or operation, should have @code{user-file-systems} as a requirement. @code{user-processes} does depend on @code{user-file-systems} as well. So direct requirement only on @code{user-processes} is sufficient."
|
||||
msgstr "Ebenso müssen Dienste, die beim Start oder im Betrieb Dateisysteme einbinden, @code{user-file-systems} als Voraussetzung benennen. @code{user-processes} hängt bereits von @code{user-file-systems} ab. Daher genügt nur die Voraussetzung @code{user-processes} auch schon."
|
||||
|
||||
msgid "one-shot services, for the Shepherd"
|
||||
msgstr "einmalig ausgeführte Dienste, für Shepherd"
|
||||
|
||||
@@ -53279,8 +53334,14 @@ msgstr "Ein Abbild erstellen, das auf dem Abbild @code{efi32-disk-image} basiert
|
||||
msgid "qcow2-image-type"
|
||||
msgstr "qcow2-image-type"
|
||||
|
||||
msgid "Build an image based on the @code{mbr-disk-image} image but with the @code{compressed-qcow2} image format."
|
||||
msgstr "Ein Abbild erstellen, das auf dem Abbild @code{mbr-disk-image} basiert, aber mit dem Abbildformat @code{compressed-qcow2}."
|
||||
msgid "Build an image based on the @code{mbr-disk-image} image but with the @code{compressed-qcow2} image format. The resulting image will have an MBR embedded bootloader as well as an EFI bootloader. This image is not suitable for architectures that do not support `grub-pc`, such as AArch64. See @code{qcow2-gpt-image-type} for an alternative."
|
||||
msgstr "Ein Abbild auf Grundlage des @code{mbr-disk-image}-Abbilds erstellen, aber im Abbildformat @code{compressed-qcow2}. Das resultierende Abbild wird einen im MBR eingebetteten Bootloader sowie einen EFI-Bootloader enthalten. Das Abbild ist ungeeignet auf Architekturen, die „grub-pc“ nicht unterstützen, etwa AArch64. Siehe @code{qcow2-gpt-image-type} als Alternative."
|
||||
|
||||
msgid "qcow2-gpt-image-type"
|
||||
msgstr "qcow2-gpt-image-type"
|
||||
|
||||
msgid "Build an image based on the @code{efi-disk-image} image but with the @code{compressed-qcow2} image format. The resulting image will have only EFI bootloader, unlike @code{qcow2-image-type}. This image is suitable for architectures that do not support `grub-pc`, such as AArch64."
|
||||
msgstr "Ein Abbild auf Grundlage des @code{efi-disk-image}-Abbilds erstellen, aber im Abbildformat @code{compressed-qcow2}. Das resultierende Abbild wird nur einen EFI-Bootloader enthalten, anders als beim Abbildformat @code{qcow2-image-type}. Das Abbild ist geeignet auf Architekturen, die „grub-pc“ nicht unterstützen, etwa AArch64."
|
||||
|
||||
msgid "iso-image-type"
|
||||
msgstr "iso-image-type"
|
||||
@@ -53997,3 +54058,18 @@ msgstr "Lizenz, GNU-Lizenz für freie Dokumentation"
|
||||
|
||||
msgid "fdl-1.3.texi"
|
||||
msgstr "fdl-1.3.texi"
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/guix.texi:2156
|
||||
msgid "While this works for @file{guix-install.sh}, it will most likely not work if you installed Guix through the package manager of another distribution (for instance with @command{sudo apt install guix}, @command{pacman -S guix}, or similar commands) because on many distributions @file{guix-daemon.service} will only run the Guix daemon provided by the distribution."
|
||||
msgstr "So funktioniert es, wenn @file{guix-install.sh} benutzt wurde. Andernfalls genügt es jedoch @emph{nicht}, wenn Sie Guix mit der Paketverwaltung einer anderen Distribution installiert haben (etwa mit @command{sudo apt install guix}, @command{pacman -S guix} oder ähnliche Befehle), weil auf vielen Distributionen @file{guix-daemon.service} nur den von der Distribution mitgelieferten Guix-Daemon ausführen wird."
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/guix.texi:2156
|
||||
msgid "While this works for @file{guix-install.sh}, it will most likely not work if you installed Guix through the package manager of another distribution (for instance with @command{sudo apt install guix}, @command{pacman -S guix}, or similar commands) because on many distributions @file{guix-daemon.service} will only run the Guix daemon provided by the distribution."
|
||||
msgstr "So funktioniert es, wenn @file{guix-install.sh} benutzt wurde. Andernfalls genügt es jedoch @emph{nicht}, wenn Sie Guix mit der Paketverwaltung einer anderen Distribution installiert haben (etwa mit @command{sudo apt install guix}, @command{pacman -S guix} oder ähnliche Befehle), weil auf vielen Distributionen @file{guix-daemon.service} nur den von der Distribution mitgelieferten Guix-Daemon ausführen wird."
|
||||
|
||||
#. type: Plain text
|
||||
#: doc/guix.texi:779
|
||||
msgid "The @uref{https://guix.gnu.org/guix-install.sh, @file{guix-install.sh}} shell script automates the binary installation process. Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget, and Xz. On systems where systemd is detected, the tool @command{newgidmap} from the @code{uidmap} package is also required."
|
||||
msgstr "Das Shell-Skript @uref{https://guix.gnu.org/guix-install.sh, @file{guix-install.sh}} automatisiert den Installationsvorgang aus Binärdateien. Um @file{guix-install.sh} benutzen zu können, werden Bash, GnuPG, GNU@tie{}tar, wget und Xz vorausgesetzt. Auf Systemen, wo systemd gefunden wird, brauchen Sie außerdem das Programm @code{newgidmap} aus dem Paket @code{uidmap} als Voraussetzung."
|
||||
|
||||
@@ -60,8 +60,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix-manual 1.2.0-pre3\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 14:56+0000\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Spanish <https://translate.codeberg.org/projects/guix/documentation-manual/es/>\n"
|
||||
"Language: es\n"
|
||||
@@ -69,7 +69,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
|
||||
msgid "Contributing"
|
||||
@@ -303,12 +303,6 @@ msgstr "@url{https://gcc.gnu.org, g++ de GCC}, con implementación"
|
||||
msgid "C++11 standard."
|
||||
msgstr "del estándar C++11."
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "Si quiere picar en el mismo Guix se recomienda usar la última versión del repositorio Git:"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "identificación, de una copia de Guix"
|
||||
|
||||
@@ -339,9 +333,6 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "o incluso, desde dentro de un árbol Git para Guix:"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "Si @option{-C} (breve para @option{--container}) no está admitido en su sistema, intente @command{--pure} en lugar de @option{-CPW}. @xref{Invoking guix shell}, para más información en esa instrucción."
|
||||
|
||||
@@ -366,12 +357,6 @@ msgstr "@url{https://www.graphviz.org/, Graphviz};"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (opcional)}."
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "En Guix se pueden añadir dependencias adicionales ejecutando en su lugar @command{guix shell}:"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "Desde allí puede generar la infraestructura del sistema de construcción usando Autoconf y Automake:"
|
||||
|
||||
@@ -18892,36 +18877,18 @@ msgstr "Opciones de línea de órdenes adicionales que se le proporcionarán a @
|
||||
msgid "Redis"
|
||||
msgstr "Redis"
|
||||
|
||||
msgid "This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object."
|
||||
msgstr "Es el tipo de servicio para el almacén de clave/valor @uref{https://redis.io/, Redis}, cuyo valor es un objeto @code{redis-configuration}."
|
||||
|
||||
msgid "{Data Type} redis-configuration"
|
||||
msgstr "{Tipo de datos} redis-configuration"
|
||||
|
||||
msgid "Data type representing the configuration of redis."
|
||||
msgstr "Tipo de datos que representa la configuración de redis."
|
||||
|
||||
msgid "@code{redis} (default: @code{redis})"
|
||||
msgstr "@code{redis} (predeterminado: @code{redis})"
|
||||
|
||||
msgid "The Redis package to use."
|
||||
msgstr "El paquete Redis usado."
|
||||
|
||||
msgid "@code{bind} (default: @code{\"127.0.0.1\"})"
|
||||
msgstr "@code{bind} (predeterminada: @code{\"127.0.0.1\"})"
|
||||
|
||||
msgid "Network interface on which to listen."
|
||||
msgstr "La interfaz de red en la que se escucha."
|
||||
|
||||
msgid "@code{port} (default: @code{6379})"
|
||||
msgstr "@code{port} (predeterminado: @code{6379})"
|
||||
|
||||
msgid "Port on which to accept connections on, a value of 0 will disable listening on a TCP socket."
|
||||
msgstr "Puerto en el que se aceptan conexiones, el valor 0 desactiva la escucha en un socket TCP."
|
||||
|
||||
msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})"
|
||||
msgstr "@code{working-directory} (predeterminado: @code{\"/var/lib/redis\"})"
|
||||
|
||||
msgid "Directory in which to store the database and related files."
|
||||
msgstr "Directorio en el que se almacena los archivos de base de datos y relacionados."
|
||||
|
||||
|
||||
@@ -53,8 +53,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix-manual 1.2.0-pre3\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 14:56+0000\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/guix/documentation-manual/fr/>\n"
|
||||
"Language: fr\n"
|
||||
@@ -62,7 +62,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
|
||||
msgid "Contributing"
|
||||
@@ -299,12 +299,6 @@ msgstr "@url{https://gcc.gnu.org, GCC's g++}, avec le support pour le"
|
||||
msgid "C++11 standard."
|
||||
msgstr "Standard C++11."
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "Si vous souhaitez travailler sur Guix lui-même, il est recommandé d'utiliser la dernière version du dépôt Git :"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "authentification, d'un extrait de Guix"
|
||||
|
||||
@@ -335,9 +329,6 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "ou encore, à partir d'une arborescence Git pour Guix :"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "Si @option{-C} (abréviation de @option{--container}) n'est pas pris en charge par votre système, essayez @command{--pure} au lieu de @option{-CPW}. @xref{Invoking guix shell} pour plus d'informations sur cette commande."
|
||||
|
||||
@@ -362,12 +353,6 @@ msgstr "@url{https://www.graphviz.org/, Graphviz} ;"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (facultatif)}."
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "Avec Guix, vous pouvez ajouter des dépendances supplémentaires en lançant @command{guix shell} :"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "Vous pouvez maintenant générer l'infrastructure du système de construction avec Autoconf et Automake :"
|
||||
|
||||
@@ -4217,12 +4202,6 @@ msgstr "installer Guix depuis les binaires"
|
||||
msgid "installer script"
|
||||
msgstr "script d'installation"
|
||||
|
||||
msgid "sudo apt install guix\n"
|
||||
msgstr "sudo apt install guix\n"
|
||||
|
||||
msgid "sudo zypper install guix\n"
|
||||
msgstr "sudo zypper install guix\n"
|
||||
|
||||
msgid ""
|
||||
"# cd /tmp\n"
|
||||
"# wget https://guix.gnu.org/guix-install.sh\n"
|
||||
@@ -23342,9 +23321,6 @@ msgstr "gestionnaire de fenêtre"
|
||||
msgid "To use X11, you must install at least one @dfn{window manager}---for example the @code{windowmaker} or @code{openbox} packages---preferably by adding it to the @code{packages} field of your operating system definition (@pxref{operating-system Reference, system-wide packages})."
|
||||
msgstr "Pour utiliser X11, vous devez installer au moins un @dfn{gestionnaire de fenêtre} — par exemple les paquets @code{windowmaker} ou @code{openbox} — de préférence en l'ajoutant au champ @code{packages} de votre définition de système d'exploitation (@pxref{operating-system Reference, system-wide packages})."
|
||||
|
||||
msgid "wayland-gdm"
|
||||
msgstr "wayland-gdm"
|
||||
|
||||
msgid "gdm-service-type"
|
||||
msgstr "gdm-service-type"
|
||||
|
||||
@@ -24916,9 +24892,6 @@ msgstr "C'est la liste des services qui étend @code{%base-services} en ajoutant
|
||||
msgid "The @code{%desktop-services} variable can be used as the @code{services} field of an @code{operating-system} declaration (@pxref{operating-system Reference, @code{services}})."
|
||||
msgstr "La variable @code{%desktop-services} peut être utilisée comme champ @code{services} d'une déclaration @code{operating-system} (@pxref{operating-system Reference, @code{services}})."
|
||||
|
||||
msgid "The desktop environments in Guix use the Xorg display server by default. If you'd like to use the newer display server protocol called Wayland, you need to enable Wayland support in GDM (@pxref{wayland-gdm}). Another solution is to use the @code{sddm-service} instead of GDM as the graphical login manager. You should then select the ``GNOME (Wayland)'' session in SDDM@. Alternatively you can also try starting GNOME on Wayland manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session``. Currently only GNOME has support for Wayland."
|
||||
msgstr "Les environnement de bureau dans Guix utilisent le service d'affichage Xorg par défaut. Si vous voulez utiliser le protocole de serveur d'affichage plus récent Wayland, vous devez activer la prise en charge de Wayland dans GDM (@pxref{wayland-gdm}). Une autre solution consiste à utiliser @code{sddm-service} à la place de GDM comme gestionnaire de connexion graphique. Vous devriez ensuite sélectionner la session « GNOME (Wayland) » dans SDDM@. Autrement, vous pouvez essayer de démarrer GNOME sur Wayland manuellement depuis un TTY avec la commande @command{XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session}. Actuellement seul GNOME support Wayland."
|
||||
|
||||
msgid "gnome-desktop-service-type"
|
||||
msgstr "gnome-desktop-service-type"
|
||||
|
||||
@@ -26419,36 +26392,18 @@ msgstr "Redis"
|
||||
msgid "redis-service-type"
|
||||
msgstr "redis-service-type"
|
||||
|
||||
msgid "This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object."
|
||||
msgstr "C'est le type de service pour la base clef-valeur @uref{https://redis.io/, Redis} dont la valeur est un objet @code{redis-configuration}."
|
||||
|
||||
msgid "{Data Type} redis-configuration"
|
||||
msgstr "{Type de données} redis-configuration"
|
||||
|
||||
msgid "Data type representing the configuration of redis."
|
||||
msgstr "Type de données représentant la configuration de redis."
|
||||
|
||||
msgid "@code{redis} (default: @code{redis})"
|
||||
msgstr "@code{redis} (par défaut : @code{redis})"
|
||||
|
||||
msgid "The Redis package to use."
|
||||
msgstr "Le paquet Redis à utiliser."
|
||||
|
||||
msgid "@code{bind} (default: @code{\"127.0.0.1\"})"
|
||||
msgstr "@code{bind} (par défaut : @code{\"127.0.0.1\"})"
|
||||
|
||||
msgid "Network interface on which to listen."
|
||||
msgstr "Interface réseau sur laquelle écouter."
|
||||
|
||||
msgid "@code{port} (default: @code{6379})"
|
||||
msgstr "@code{port} (par défaut : @code{6379})"
|
||||
|
||||
msgid "Port on which to accept connections on, a value of 0 will disable listening on a TCP socket."
|
||||
msgstr "Port sur lequel accepter les connexions, une valeur de 0 désactive l'écoute sur un socket TCP."
|
||||
|
||||
msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})"
|
||||
msgstr "@code{working-directory} (par défaut : @code{\"/var/lib/redis\"})"
|
||||
|
||||
msgid "Directory in which to store the database and related files."
|
||||
msgstr "Répertoire dans lequel stocker la base de données et les fichiers liés."
|
||||
|
||||
@@ -40977,9 +40932,6 @@ msgstr "La commande @code{--list-image-types} liste tous les types d'images disp
|
||||
msgid "creating virtual machine images"
|
||||
msgstr "créer des images de machines virtuelles"
|
||||
|
||||
msgid "When using the @code{qcow2} image type, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more information on how to run the image in a virtual machine. The @code{grub-bootloader} bootloader is always used independently of what is declared in the @code{operating-system} file passed as argument. This is to make it easier to work with QEMU, which uses the SeaBIOS BIOS by default, expecting a bootloader to be installed in the Master Boot Record (MBR)."
|
||||
msgstr "Lorsque vous utilisez le type d'image @code{qcow2}, l'image renvoyée est au format qcow2, que l'émulateur QEMU peut utiliser efficacement. @xref{Running Guix in a VM}, pour plus d'information sur la manière de lancer l'image dans une machine virtuelle. Le chargeur d'amorçage @code{grub-bootloader} est toujours utilisé quelque soit celui déclaré dans le fichier @code{operating-system} passé en argument. Cela facilite l'utilisation de QEMU, qui utilise le BIOS SeaBIOS par défaut, et s'attend à un chargeur d'amorçage installé dans le Master Boot Record (MBR)."
|
||||
|
||||
msgid "docker-image, creating docker images"
|
||||
msgstr "docker-image, créer des images docker"
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix manual checkout\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-09-27 14:50+0000\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/guix/documentation-manual/it/>\n"
|
||||
"Language: it\n"
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.13.2\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
msgid "Contributing"
|
||||
msgstr "Contribuire"
|
||||
@@ -258,12 +258,6 @@ msgstr "@url{https://gcc.gnu.org, il g++ di GCC}, con supporto per lo"
|
||||
msgid "C++11 standard."
|
||||
msgstr "standard C++11."
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "Se vuoi modificare Guix stesso, è preferibile usare l'ultima versione presa dal repository Git:"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "autenticazione, di un checkout Guix"
|
||||
|
||||
@@ -294,9 +288,6 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "o anche, da un albero di lavoro Git per Guix:"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "Se @option{-C} (abbreviazione di @option{--container}) non è supportato sul tuo sistema, prova @command{--pure} invece di @option{-CPW}. @xref{Invoking guix shell}, per maggiori informazioni su questo comando."
|
||||
|
||||
@@ -321,12 +312,6 @@ msgstr "@url{https://www.graphviz.org/, Graphviz};"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (opzionale)}."
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "Su Guix, dipendenze extra possono essere aggiunte eseguendo invece @command{guix shell}:"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "Da lì puoi generare l'infrastruttura del sistema di compilazione usando Autoconf e Automake:"
|
||||
|
||||
@@ -4924,24 +4909,12 @@ msgstr "script di installazione"
|
||||
msgid "This section describes how to install Guix from a self-contained tarball providing binaries for Guix and for all its dependencies. This is often quicker than installing from source, described later (@pxref{Building from Git})."
|
||||
msgstr "Questa sezione descrive come installare Guix da un tarball auto-contenuto che fornisce i binari per Guix e per tutte le sue dipendenze. Questo è spesso più veloce dell'installazione dai sorgenti, descritta più avanti (@pxref{Building from Git})."
|
||||
|
||||
msgid "Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "Alcune distribuzioni GNU/Linux, come Debian, Ubuntu e openSUSE, forniscono Guix tramite i loro gestori di pacchetti. La versione di Guix potrebbe essere più vecchia di @value{VERSION} ma puoi aggiornarla in seguito eseguendo @samp{guix pull}."
|
||||
msgid "Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "Alcune distribuzioni GNU/Linux, come openSUSE, Alpine e NixOS, forniscono Guix tramite i loro gestori di pacchetti. La versione di Guix potrebbe essere più vecchia di @value{VERSION} ma puoi aggiornarla in seguito eseguendo @samp{guix pull}."
|
||||
|
||||
msgid "We advise system administrators who install Guix, both from the installation script or @i{via} the native package manager of their foreign distribution, to also regularly read and follow security notices, as shown by @command{guix pull}."
|
||||
msgstr "Consigliamo agli amministratori di sistema che installano Guix, sia dallo script di installazione che @i{via} il gestore di pacchetti nativo della loro distribuzione esterna, di leggere e seguire regolarmente gli avvisi di sicurezza, come mostrato da @command{guix pull}."
|
||||
|
||||
msgid "For Debian or derivatives such as Ubuntu or Trisquel, call:"
|
||||
msgstr "Per Debian o derivate come Ubuntu o Trisquel, chiama:"
|
||||
|
||||
msgid "sudo apt install guix\n"
|
||||
msgstr "sudo apt install guix\n"
|
||||
|
||||
msgid "Likewise, on openSUSE:"
|
||||
msgstr "Allo stesso modo, su openSUSE:"
|
||||
|
||||
msgid "sudo zypper install guix\n"
|
||||
msgstr "sudo zypper install guix\n"
|
||||
|
||||
msgid "If you are running Parabola, after enabling the pcr (Parabola Community Repo) repository, you can install Guix with:"
|
||||
msgstr "Se stai usando Parabola, dopo aver abilitato il repository pcr (Parabola Community Repo), puoi installare Guix con:"
|
||||
|
||||
|
||||
@@ -17,16 +17,16 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix manual checkout\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 23:20+0000\n"
|
||||
"Last-Translator: gitwasamistake <gitwasamistake@noreply.codeberg.org>\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/guix/documentation-manual/pt_BR/>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
msgid "Contributing"
|
||||
msgstr "Contribuindo"
|
||||
@@ -262,12 +262,6 @@ msgstr "@url{https://gcc.gnu.org, GCC's g++}, com suporte ao"
|
||||
msgid "C++11 standard."
|
||||
msgstr "padrão C++11."
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "Se você quiser hackear o próprio Guix, é recomendado usar a versão mais recente do repositório Git:"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "autenticação, de um checkout Guix"
|
||||
|
||||
@@ -298,9 +292,6 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "ou mesmo, de dentro de uma árvore de trabalho Git para Guix:"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "Se @option{-C} (abreviação de @option{--container}) não for compatível com seu sistema, tente @command{--pure} em vez de @option{-CPW}. @xref{Invoking guix shell}, para obter mais informações sobre esse comando."
|
||||
|
||||
@@ -325,12 +316,6 @@ msgstr "@url{https://www.graphviz.org/, Graphviz};"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (opcional)}."
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "No Guix, dependências extras podem ser adicionadas executando @command{guix shell}:"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "A partir daí você pode gerar a infraestrutura do sistema de construção usando Autoconf e Automake:"
|
||||
|
||||
@@ -4817,24 +4802,12 @@ msgstr "instalando Guix de binários"
|
||||
msgid "installer script"
|
||||
msgstr "script de instalação"
|
||||
|
||||
msgid "Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "Algumas distribuições GNU/Linux, como Debian, Ubuntu e openSUSE fornecem Guix por meio de seus próprios gerenciadores de pacotes. A versão do Guix pode ser mais antiga que @value{VERSION}, mas você pode atualizá-la depois executando @samp{guix pull}."
|
||||
msgid "Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "Algumas distribuições GNU/Linux, como openSUSE, Alpine e NixOS fornecem Guix por meio de seus próprios gerenciadores de pacotes. A versão do Guix pode ser mais antiga que @value{VERSION}, mas você pode atualizá-la depois executando @samp{guix pull}."
|
||||
|
||||
msgid "We advise system administrators who install Guix, both from the installation script or @i{via} the native package manager of their foreign distribution, to also regularly read and follow security notices, as shown by @command{guix pull}."
|
||||
msgstr "Aconselhamos os administradores de sistema que instalam o Guix, tanto a partir do script de instalação quanto por meio do gerenciador de pacotes nativo de sua distribuição estrangeira, a também ler e seguir regularmente os avisos de segurança, conforme mostrado pelo @command{guix pull}."
|
||||
|
||||
msgid "For Debian or derivatives such as Ubuntu or Trisquel, call:"
|
||||
msgstr "Para Debian ou derivados como Ubuntu ou Trisquel, chame:"
|
||||
|
||||
msgid "sudo apt install guix\n"
|
||||
msgstr "sudo apt install guix\n"
|
||||
|
||||
msgid "Likewise, on openSUSE:"
|
||||
msgstr "Da mesma forma, no openSUSE:"
|
||||
|
||||
msgid "sudo zypper install guix\n"
|
||||
msgstr "sudo zypper install guix\n"
|
||||
|
||||
msgid "If you are running Parabola, after enabling the pcr (Parabola Community Repo) repository, you can install Guix with:"
|
||||
msgstr "Se você estiver executando o Parabola, depois de habilitar o repositório pcr (Parabola Community Repo), você pode instalar o Guix com:"
|
||||
|
||||
@@ -12566,9 +12539,6 @@ msgstr "{Tipo de dados} memcached-configuration"
|
||||
msgid "{Data Type} redis-configuration"
|
||||
msgstr "{Tipo de dados} redis-configuration"
|
||||
|
||||
msgid "@code{port} (default: @code{6379})"
|
||||
msgstr "@code{port} (padrão: @code{6379})"
|
||||
|
||||
msgid "email"
|
||||
msgstr "e-mail"
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix-manual 1.2.0-pre2\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 14:56+0000\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/guix/documentation-manual/ru/>\n"
|
||||
"Language: ru\n"
|
||||
@@ -34,7 +34,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
|
||||
msgid "Contributing"
|
||||
@@ -241,12 +241,6 @@ msgstr "@url{https://gcc.gnu.org, GCC's g++} с поддержкой"
|
||||
msgid "C++11 standard."
|
||||
msgstr "стандарта C++11."
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "Если вы собираетесь хакать сам Guix, рекомендуется использовать последнюю версию из репозитория Git:"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "аутентификация рабочего каталога Guix"
|
||||
|
||||
@@ -277,9 +271,6 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "или даже из-под рабочей ветки Git для Guix:"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "Если @option{-C} (сокр. от @option{--container}) не поддерживается на вашей системе, попробуйте @command{--pure} вместо @option{-CPW}. см. @xref{Invoking guix shell}, чтобы получить информацию по данной команде."
|
||||
|
||||
@@ -304,12 +295,6 @@ msgstr "@url{https://www.graphviz.org/, Graphviz};"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "В Guix дополнительные зависимости можно добавить, запустив @command{guix shell}:"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "Вы можете инициировать инфраструктуру сборки системы, используя Autoconf и Automake:"
|
||||
|
||||
@@ -3156,9 +3141,6 @@ msgstr "установка Guix из бинарных файлов"
|
||||
msgid "installer script"
|
||||
msgstr "скрипт установки"
|
||||
|
||||
msgid "Likewise, on openSUSE:"
|
||||
msgstr "Подобным же образом на openSUSE:"
|
||||
|
||||
msgid ""
|
||||
"# cd /tmp\n"
|
||||
"# wget https://guix.gnu.org/guix-install.sh\n"
|
||||
|
||||
@@ -30,8 +30,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: guix-manual 1.0.1-pre1\n"
|
||||
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
|
||||
"POT-Creation-Date: 2025-10-24 03:18+0000\n"
|
||||
"PO-Revision-Date: 2025-10-30 11:10+0000\n"
|
||||
"POT-Creation-Date: 2026-01-06 03:18+0000\n"
|
||||
"PO-Revision-Date: 2026-01-01 14:27+0000\n"
|
||||
"Last-Translator: pelzflorian <pelzflorian@noreply.codeberg.org>\n"
|
||||
"Language-Team: Chinese (Simplified Han script) <https://translate.codeberg.org/projects/guix/documentation-manual/zh_Hans/>\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -39,7 +39,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.13.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||
|
||||
msgid "Contributing"
|
||||
@@ -276,12 +276,6 @@ msgstr "@url{https://gcc.gnu.org, GCC's g++},带有支持对于"
|
||||
msgid "C++11 standard."
|
||||
msgstr "C++11 标准。"
|
||||
|
||||
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
|
||||
msgstr "如果你想折腾 Guix 本身,建议使用 Git 仓库里最新的版本:"
|
||||
|
||||
msgid "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
msgstr "git clone https://git.guix.gnu.org/guix.git\n"
|
||||
|
||||
msgid "authentication, of a Guix checkout"
|
||||
msgstr "Guix 签出的身份认证"
|
||||
|
||||
@@ -312,9 +306,6 @@ msgstr "guix shell -D guix -CPW\n"
|
||||
msgid "or even, from within a Git worktree for Guix:"
|
||||
msgstr "或者,从一个 Git worktree 内部使用 Guix:"
|
||||
|
||||
msgid "guix shell -CPW\n"
|
||||
msgstr "guix shell -CPW\n"
|
||||
|
||||
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command."
|
||||
msgstr "如果 @option{-C}(@option{--container} 的缩写)在你的系统上不被支持,请尝试使用 @command{--pure} 来代替 @option{-CPW}。有关该命令的更多信息见 @xref{Invoking guix shell}."
|
||||
|
||||
@@ -339,12 +330,6 @@ msgstr "@url{https://www.graphviz.org/, Graphviz};"
|
||||
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
|
||||
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man(可选)}。"
|
||||
|
||||
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
|
||||
msgstr "在 Guix 上,额外的依赖也可以通过 @command{guix shell} 添加:"
|
||||
|
||||
msgid "guix shell -D guix help2man git strace --pure\n"
|
||||
msgstr "guix shell -D guix help2man git strace --pure\n"
|
||||
|
||||
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
|
||||
msgstr "在这里你可以使用 Autoconf 和 Automake 生成构建系统的基础设施:"
|
||||
|
||||
@@ -3201,18 +3186,9 @@ msgstr "用二进制文件安装 Guix"
|
||||
msgid "installer script"
|
||||
msgstr "安装脚本"
|
||||
|
||||
msgid "Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE provide Guix through their own package managers. The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
|
||||
msgstr "一些 GNU/Linux 发行版,如 Debian、Ubuntu 和 openSUSE 通过自己的包管理器提供 Guix。Guix 的版本可能早于@value{VERSION},但您可以在之后通过运行@samp{guix pull}来更新它。"
|
||||
|
||||
msgid "We advise system administrators who install Guix, both from the installation script or @i{via} the native package manager of their foreign distribution, to also regularly read and follow security notices, as shown by @command{guix pull}."
|
||||
msgstr "我们建议安装 Guix 的系统管理员,无论是通过安装脚本还是通过其外部发行版的本地包管理器,定期阅读和遵循安全通知,如@command{guix pull}所示。"
|
||||
|
||||
msgid "sudo apt install guix\n"
|
||||
msgstr "sudo apt install guix\n"
|
||||
|
||||
msgid "sudo zypper install guix\n"
|
||||
msgstr "sudo zypper install guix\n"
|
||||
|
||||
msgid "sudo pacman -S guix\n"
|
||||
msgstr "sudo pacman -S guix\n"
|
||||
|
||||
|
||||
+495
-450
File diff suppressed because it is too large
Load Diff
+823
-721
File diff suppressed because it is too large
Load Diff
+3816
-2360
File diff suppressed because it is too large
Load Diff
+417
-384
File diff suppressed because it is too large
Load Diff
+285
-273
File diff suppressed because it is too large
Load Diff
+285
-273
File diff suppressed because it is too large
Load Diff
+1187
-1186
File diff suppressed because it is too large
Load Diff
+420
-384
File diff suppressed because it is too large
Load Diff
+314
-317
File diff suppressed because it is too large
Load Diff
+355
-330
File diff suppressed because it is too large
Load Diff
+1384
-1331
File diff suppressed because it is too large
Load Diff
+290
-277
File diff suppressed because it is too large
Load Diff
+420
-384
File diff suppressed because it is too large
Load Diff
+282
-269
File diff suppressed because it is too large
Load Diff
+415
-385
File diff suppressed because it is too large
Load Diff
+1252
-1239
File diff suppressed because it is too large
Load Diff
+737
-636
File diff suppressed because it is too large
Load Diff
+486
-450
File diff suppressed because it is too large
Load Diff
+489
-450
File diff suppressed because it is too large
Load Diff
+278
-265
File diff suppressed because it is too large
Load Diff
+3511
-2275
File diff suppressed because it is too large
Load Diff
+417
-384
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user