1
0
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 Message Date
Rutherther 230aa373f3 maint: Do not check for optional guile-zstd in configure.ac.
Partially reverts e642300195.
Only semver is a required dependency, zstd is optional.

* configure.ac: Remove check for Guile-zstd being available.

Change-Id: I1fe0fe77d0f15b1d383c890b46ce678402054efc
2026-01-21 17:33:14 +01:00
Rutherther e642300195 maint: Check for guile-semver and guile-zstd.
These were omitted from the configure script, leading to failure during the
build, instead of an earlier failure during ./configure.

Change-Id: I62a69eccf854acc1f7ae9a7aeb26897cf433478c
2026-01-21 15:23:59 +01:00
Rutherther 4470dd7386 gnu: jemalloc: Disable tests on armhf.
Jemalloc can't be built on CI.

* gnu/packages/jemalloc.scm (jemalloc): Disable tests on armhf.

Change-Id: Iebc5ec7cbe43f4ccbc93569fc6a43e2b5d035fbe
2026-01-21 14:23:26 +01:00
Rutherther 88f0151d9f installer: kernel: Accept empty list as kernel.
On architectures other than x86_64, the kernel page is not shown.  That means
the kernel will be an empty list. This leads to an exception during
installation.

Followup of 139a69b602, part of #5515.

* gnu/installer/kernel.scm (kernel->configuration): Accept empty kernel.

Change-Id: I7891f189ecc8d557aa9bb900a6633a570e46a3b6
2026-01-21 14:19:46 +01:00
Rodion Goritskov 59c9c36db9 tests: Add Fedora foreign distribution test.
* gnu/tests/foreign.scm (qcow-image-with-marionette):
  - Create .autorelabel file to make copied Guile work
    on SELinux-enabled systems.
(resize-lvm-xfs-partition): New variable.
(run-foreign-install-test): Increase RAM for VM to 1024
  as 512 is not sufficient to run Guix installation
  on Fedora.
(fedora-qcow2): New variable.
(%test-fedora-install): New variable.

Change-Id: Ib247a174dfea8630d830763410391077516a8c16
Merges: #5007
2026-01-19 19:28:11 +01:00
Rutherther c558339893 tests: foreign: Add Ubuntu test.
This one is a bit more complicated than the other ones, because the qcow2
image is too small to hold the tarball contents.  So I have decided to add in
logic to resize the qemu img, the partition and the filesystem.

* gnu/tests/foreign.scm
(ubuntu-qcow2): New variable.
(ubuntu-uidmap-deb-file): New variable.
(ubuntu-libsuid4-deb-file): New variable.
(%test-ubuntu-install): New variable.

Change-Id: Ib705cfe0aeab5e6ede284b8eff06483aea617349e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>

Merges: #4997
Change-Id: I17472d160665fa4965d1c1ee00d671746bd5fb74
2026-01-19 19:28:10 +01:00
Rutherther 1d27f4029c tests: foreign: Add utilities for resizing foreign images.
* gnu/tests/foreign.scm
(qcow-image-with-marionette): Add resize-image and
resize-proc to resize the image, the partition and the file system.
(resize-ext4-partition): New variable.
(run-foreign-install-test): Add resize-image and resize-proc; Pass them to
qcow-image-with-marionette.

Change-Id: I92dbe0cdcafb5ff0a0b6c3e9b96205b4ad9d10e8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 19:28:10 +01:00
Rutherther efec531f5e tests: foreign: Add test restarting guix-daemon.
* gnu/tests/foreign.scm (run-foreign-install-test): Restart the
daemon, build and gc afterwards.

Followup of 9a78e76076.

Change-Id: Ia2304d6b9c83b5b8f410426ce00e078c2f004198
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 19:28:09 +01:00
Ludovic Courtès 519524f996 doc: Use versioned URL for references to translated Guix manuals.
Partly addresses guix/guix#5725.

* doc/htmlxref.cnf (GUIX): Add /1.5.0.

Change-Id: I49ef15c00ca45b83a48ba0d1366b79a108e1e1a8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5754
2026-01-19 19:23:30 +01:00
Noé Lopez cdd0d9c716 Update NEWS.
* NEWS: Update for 1.5.0.

Change-Id: I88bf24a6e0d0abb77fbd5e44b12c6e175cbba182
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5739
2026-01-19 19:21:09 +01:00
Rutherther 30e435371e guix-install.sh: Add efraim's signing key.
* etc/guix-install.sh (GPG_SIGNING_KEYS): add "efraim" entry with his key
fingerprint.

Change-Id: Idbe6eb4bf366265fedb1748f62707eb0819003e2
2026-01-19 19:02:32 +01:00
Florian Pelz 958ca14f47 nls: Adapt 'de' translations of "Binary Installation" documentation.
To accommodate last-minute changes in #5724 before Guix 1.5.0 release.

* po/doc/guix-manual.de.po: Adapt.

Change-Id: I800e0645900ca1fc45f02d664c3336efdb30aa76
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5759
2026-01-19 18:52:52 +01:00
Ludovic Courtès 2e2f80faba doc: Use markup for commands in “Upgrading Guix”.
This is a followup to d5cf3b5def.

* doc/guix.texi (Upgrading Guix): Use markup for commands.

Change-Id: I0b751ddc7f0e8e57813be23c809c23ade1e6cbd1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5724
2026-01-19 18:52:31 +01:00
Ludovic Courtès b12d80aec3 doc: Move “When you’re done” instructions right after ‘guix-install.sh’.
* doc/guix.texi (Binary Installation): Move “When you’re done” instructions
right after script execution.

Change-Id: I70c9015add401a6ad6465941f423a3c4c9ef9b24
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:29 +01:00
Ludovic Courtès 02840cc74f doc: Mention the tarball URL and clarify binary installation steps.
* doc/guix.texi (Binary Installation): Mention the tarball URL.  Clarify what
the steps do.

Change-Id: Ic929b10c29b69752fd549b78295682bdf4fb76f6
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:28 +01:00
Ludovic Courtès 6e89d38ce8 doc: Move ‘guix-install.sh’ commands upfront in “Binary Installation”.
* doc/guix.texi (Binary Installation): Move installation commands upfront.

Change-Id: Ie63837f29d5c2f25e3e50039facb8cdb12ba2f82
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:27 +01:00
Ludovic Courtès a92a0ddaea doc: Reword introduction to ‘guix-install.sh‘.
* doc/guix.texi (Binary Installation): Reword introduction to
‘guix-install.sh’.

Change-Id: I51a1f55191cccde3800ef32a7a8ebe15f5e2c813
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:26 +01:00
Ludovic Courtès 6275c911bd doc: Link to ‘guix-install.sh’ upfront under “Binary Installation”.
* doc/guix.texi (Binary Installation): Link to the script upfront rather than
in a footnote.

Change-Id: Icd89d0e9bb0c701b6b956ce214015e5466299bf3
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:26 +01:00
Ludovic Courtès 93e1f4e363 doc: Remove ‘#’ from code snippets to allow for copy/paste.
* doc/guix.texi (Binary Installation): Remove leading ‘#’ from code snippets.

Change-Id: Id459799ffdf26da3f9ab2907ed68e0ac7eb857fc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:25 +01:00
Ludovic Courtès f45b68feb8 doc: Use @command for commands under “Binary Installation”.
* doc/guix.texi (Binary Installation): Use @command and @code appropriately.

Change-Id: If2d0d25a3e7e97c19f14c6f70143b5481b49b727
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:24 +01:00
Ludovic Courtès 60005904e9 doc: Move instructions about ‘guix’ from other distros to the bottom.
* doc/guix.texi (Binary Installation): Move paragraphs about ‘guix’ packages
of other distros to the bottom.

Change-Id: Ie7c3484e40fb0dbe502e81f17e2d74b7afa0e777
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:23 +01:00
Ludovic Courtès 32c28c684a doc: Remove Parabola instructions from “Binary Installation”.
This reverts 0f9fe721be.

The rationale is that there’s no reason to single out Parabola and, more
importantly, it obscures the message of this section.

* doc/guix.texi (Binary Installation): Remove Parabola instructions.

Change-Id: Ib7b2b0629d8e3a90cd09705cc2dcde15df8f51a2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:22 +01:00
Rutherther 00a117d436 news: Add information about %desktop-services changes.
Change-Id: I99a7fa1dcaba51f2a0dfe57f77384d82b98505f3
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5697
2026-01-19 18:51:43 +01:00
Rutherther 6d4cb99a15 gnu: %desktop-services: Switch to GDM on 64-bit systems.
* gnu/services/desktop.scm
(desktop-services-for-system): Use gdm on all 64-bit systems.

* gnu/services/xorg.scm (set-xorg-configuration): Adapt to
desktop-services-for-system change.

* gnu/system/examples/desktop.tmpl: Determine the support of Gnome by checking
for supported package.

Fixes: #5388
Change-Id: I0d512a7c31188cea0335e66f00a6d65ae59d09a4
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:51:12 +01:00
Rutherther 010af50497 maint: Add missing build-aux files to EXTRA_DIST.
* Makefile.am (EXTRA_DIST): Add missing build-aux files.

Change-Id: I4b186985029b963110feffc3463952b0521023fc
2026-01-18 18:00:22 +01:00
Rutherther 077aaa1138 doc: Bump version to 1.5.0.
* doc/build.scm
(%latest-guix-version): Bump to 1.5.0.
(stylized-html): Move to versioned manual URL.
(html-manual): Use versioned manual URL.

Change-Id: I82048a9548894e335e7c2427a739733304a7961a
Fixes: #5681
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5715
2026-01-18 17:54:21 +01:00
Hilton Chain 2ae3c69679 import: crate: Generate comments with ‘TODO REVIEW:’ prefix.
This distinguishes them from manually added ones.  When committing changes,
these ‘TODO REVIEW’ comments should be addressed and removed first.

If you're working with Rust packaging, please update your local Guix to this
commit to apply the change.

* guix/import/crate.scm (cargo-lock->expressions): Generate comments with
‘TODO REVIEW:’ prefix.
* tests/import/crate.scm ("crate-lockfile-import"): Don't check the exact
comment string.
* doc/guix-cookbook.texi (Common Workflow for Rust Packaging),
* gnu/packages/rust-crates.scm: Adjust accordingly.

Change-Id: I76b914b49be46d04cc61b101b6bc9e31cadb7f07
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4567
2026-01-18 11:15:36 +01:00
Hilton Chain 1232e53526 gnu: rust-crates: Add ‘package:’ prefix for replaced crates.
This avoids definitions like
‘(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)’.

* gnu/packages/rust-crates.scm: Import (gnu packages rust-sources) module with
‘package:’ prefix.
* etc/teams/rust/rust-crates.tmpl,
* doc/guix-cookbook.texi (Cargo Workspaces and Development Snapshots): Adjust
accordingly.

Change-Id: Ie41556d8f30db65e968d8e8238491f1345eeed59
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-18 11:14:55 +01:00
Rutherther d41f362114 maint: Register files for dist tarballs.
* Makefile.am: Register missing dist files.
* gnu/local.mk: Register all used patches.
*  gnu/packages/patches/emacs-gnus-desktop-notify-fix-notifications.patch:
Remove unregistered patch.
*  gnu/packages/patches/emacs-gnus-desktop-notify-rescan.patch: Remove
unregistered patch.
*  gnu/packages/patches/libjami-ac-config-files.patch: Remove unregistered
patch.
*  gnu/packages/patches/libjami-sdbus-cpp-v2.patch: Remove unregistered patch.

Fixes: #5691
Merges: #5709
Reported-By: Vagrant Cascadian <vagrant@debian.org>
Change-Id: Ifa05b163b3ad362c5a07efdfd2dac6af88bac18e
2026-01-18 11:14:18 +01:00
Rutherther b50a7973db gnu: qemu: Disable failing migration-test on AArch64.
On some AArch64 devices, like RPi5 or honeycombs used by CI, the test fails.

* gnu/packages/patches/qemu-disable-aarch64-migration-test.patch: New file.
* gnu/packages/virtualization.scm (qemu): Patch it.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Ica2d31bc53e154637036c13517289c6c78010739
Fixes: #2447
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5683
2026-01-17 20:31:06 +01:00
Florian Pelz 7c3fec8a6d nls: Update translations.
Change-Id: I20ded9e099995fda91fa7a9cf7c34323b4eae541
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:56:39 +01:00
Florian Pelz ea0c0bec5d installer: Adjust vertical space in the recommended kernel choice.
Proposed in #5555.

* gnu/installer/newt/kernel.scm (run-kernel-page): Add a newline.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I50e156e12539ba86cf9aa12ab6ef92ed145b5578
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:53:49 +01:00
Rutherther 5ce978fa93 installer: run-kernel-page: Ensure Linux Libre is first.
The list box is automatically sorted, putting Hurd in front of Linux Libre.

* gnu/installer/newt/kernel.scm (run-kernel-page): Do not sort.

Change-Id: Id534560e93eee597e1180d766abb7422cd8e547a
2026-01-16 20:53:48 +01:00
Andreas Enge e651fdb380 gnu: kwin: Disable tests on all architectures.
One of them also fails on bordeaux for x86_64.

* gnu/packages/kde-plasma.scm (kwin)[arguments]<#:test-exclude>: Disable
failing aarch64 tests on all architectures.

Change-Id: Ib32f927d0165213f358d6962f27604109cd4be3b
2026-01-16 20:37:28 +01:00
Rutherther a6a0c82d73 system: install: Add support for more boot devices on AArch64.
The state is not great, there are many unsupported devices in the current
state. This adds support for much more USB controllers than before and also
SD cards.

* gnu/system/install.scm (%installation-initrd-modules): Add a lot of new
modules to support booting on various devices

Change-Id: I523ebe992a7e3740708622899d1209f20eb23e63
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5320
2026-01-16 20:28:28 +01:00
Simon Josefsson 79cf0fb7a3 guix-install.sh: Make /etc/profile.d/zzz-guix.sh usable in set -u shells
* etc/guix-install.sh: Replace $INFOPATH, $MANPATH with ${V:-} variant.

Closes: guix/guix#4534
Change-Id: I82da28d1347b1f37862b903f1721d9bdbb78acd2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4553
2026-01-16 20:23:50 +01:00
Artyom V. Poptsov 0e4fd181d9 gnu: visionfive2: Update the module commentary.
* gnu/system/images/visionfive2.scm: Update the module commentary.

Change-Id: If3d12bb0e3ccb9eaced4eb1e3afe636c7b89896f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4855
2026-01-16 20:23:49 +01:00
Artyom V. Poptsov ebd886faeb gnu: linux-libre 6.17-riscv: Enable CONFIG_SCSI_VIRTIO.
* gnu/packages/aux-files/linux-libre/6.17-riscv.conf: Enable
CONFIG_SCSI_VIRTIO.

Change-Id: I60920b484aa585e184f7f6174c334752a591d194
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:48 +01:00
Artyom V. Poptsov f8f2bdc24c gnu: install-starfive-visionfive2-uEnv.txt: Set extra options.
* gnu/bootloader/u-boot.scm (install-starfive-visionfive2-uEnv.txt): Set
"boot_targets" and "bootcmd_mmc1".

Change-Id: I0ce157d66e792af605cfdb7cc5dbecf6e5171c5a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:47 +01:00
Artyom V. Poptsov 333e1e5eda gnu: make-u-boot-installer: Use the original file name.
* gnu/bootloader/u-boot.scm (make-u-boot-installer): Use the original file
name without the Guix store file prefix when installing a plain file.

Change-Id: Ica2707878c1dd5f7d3b805499a0a38ca76e315af
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:46 +01:00
Artyom V. Poptsov 7ad0b7ec2a gnu: install-starfive-visionfive2-uEnv.txt: Remove "~%".
* gnu/bootloader/u-boot.scm (install-starfive-visionfive2-uEnv.txt): Remove
an extra "~%" from the file contents.

Change-Id: Ie83ae01702538153017e45da51ce2c3000df7899
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:46 +01:00
Hugo Buddelmeijer aa0883d233 gnu: guile-2.2.4: Fix build by using libxcrypt-without-failure-tokens.
* gnu/packages/guile.scm (guile-2.2.4): Use libxcrypt-without-failure-tokens.

Change-Id: I91d4d7287636f34aa64ce8d47736b14c311b7a62
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5624
2026-01-16 20:23:45 +01:00
Hugo Buddelmeijer 519210ce80 gnu: Add libxcrypt-without-failure-tokens.
* gnu/packages/crypto.scm (libxcrypt-without-failure-tokens): New variable.

Change-Id: I89f551d2e69f68d7c2440593c00b4dbc4c605b89
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:44 +01:00
Noé Lopez 848fdc7d09 tests: install: Fix timezone check.
The default timezone is set to Europe/Zaghreb, however the new check
introduced in 0a9eb3f3e2 was checking for the
one in the operating-system definition, which is Europe/Paris.

* gnu/tests/install.scm (gui-test-program): Explicitely set timezone to
Europe/Paris.

Change-Id: I7b5d327f13760632c9fbc0c1223a6a9bbc624f4d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4977
2026-01-16 20:08:55 +01:00
Christopher O'Neill a2f6d5c4ab doc: Remove paragraph stating Xorg display server used by default.
* doc/guix.texi (Desktop Services): Remove paragraph.
(X Window): Remove corresponding anchor.
* po/doc/guix-manual.de.po, po/doc/guix-manual.fr.po: Likewise.

Change-Id: Ib545f15e51585fcc5abdb804e6d9eb0f47cb2179
Co-authored-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:35 +01:00
Hugo Buddelmeijer d08d7c6e5f doc: Better explain extra development tools when building from git.
* doc/contributing.texi (Building from Git): Better explain adding tools.

Change-Id: I47fb9e5414edc5eebce64d25db6998cc51985fcb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4821
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:34 +01:00
Hugo Buddelmeijer 74d6654633 doc: Explain that some test require network when building from git.
* doc/contributing.texi (Building from Git): Discuss network tests.

Change-Id: I21c8e4a1e60ed215a6fb3507b7aedc1835f735ad
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:33 +01:00
Hugo Buddelmeijer d32b285b2b doc: Improve building from git instructions.
* doc/contributing.texi (Building from Git): Improve instructions.
Include 'cd' and authorizing the directory for guix shell.

Change-Id: Ied8eb7553ab92504a87c0059820ca154a18c33ab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:32 +01:00
Rutherther 542db8304e installer: services: Disable desktop page on Hurd and 32-bit x86.
To prevent confusion, remove possibility to choose the desktop services on
both Hurd and 32-bit x86. As the info text suggests, desktop environments are not
available on Hurd. As for x86, there some of the services do not build. While
it is more idiomatic to fix those services, for the 1.5.0 release, use this
workaround to disable the desktop page. This ensures users aren't left
building something that will fail.

* gnu/installer/newt/services.scm
(run-desktop-environments-cbt-page): No longer show special info on Hurd.
(run-desktop-environments-cbt-page/maybe): Call
run-desktop-environments-cbt-page on architectures that support desktop
environments well.
(run-services-page): Call maybe variant of run-desktop-environments-cbt-page.

Change-Id: I4bb636e4d5bf2b73bfaf276fd359c77402c5c5f7
Fixes: #5400
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5503
2026-01-14 10:47:51 +01:00
Rutherther 056dd112aa installer: partition: Force msdos on Hurd.
Since Hurd always uses Legacy BIOS bootloader, do not offer GPT label.

* gnu/installer/newt/partition.scm (run-label-page): Force MSDOS for Hurd
target.

Change-Id: Ib8bb1175f85e8f6084683a747303e3e19f20be42
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 10:46:41 +01:00
Rutherther 9448ec6fb2 install: Add guix-system-installer executable to system profile.
To allow users in headless consoles to use the graphical installer, add an
executable. This executable is referred to by the console motd, so users
in headless setups will get to know about it.

* gnu/system/install.scm
(installer-command-package): New variable.
(%installation-services): Use it, add it to the profile-service-type

Change-Id: Id2d07b3f190aa17c99c7667c3bb31ae696499dde
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5346
2026-01-14 09:17:35 +01:00
Rutherther 94f9177cf8 install: Show different motd in headless console.
motd is shown by the pam module, it doesn't support changing what motd gets
displayed easily. The only way to control it is by read permissions on
individual motd files, making files unreadable by the user logging in.

So instead of that, make a custom script that prints different motd,
checking if a temporary file exists. An environment variable would be better
suited for this purpose, but those aren't passed through by PAM.

* gnu/system/install.scm
(%installation-login-pam-service): New variable. Modified login pam service.
(%installation-console-login): New variable. Wrapper around login to create a
file for PAM rule.
(%installation-services): Use new login pam service and wrapper.

Change-Id: I5e05e604b3106390181190559ade62ca5e2db216
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 09:17:34 +01:00
Rutherther ab22501915 install: Register agetty on primary console on AArch64.
This adds the possibility to parse /proc/consoles to find a primary console.
Then, on AArch64 this is used in the installation image. On AArch64, the boot
usually happens with chosen device tree that contains the serial console.
On x86_64, this does not happen so often, so we keep the installation iso
minimal there.

The primary console is chosen, but there is a fallback to any non-virtual one.
Virtual console (/dev/tty0) is skipped, because that one can point to any
console, like /dev/tty1 and so on. So it's not safe to register agetty on it.

* gnu/build/linux-boot.scm (read-linux-consoles): New variable.
* gnu/services/base.scm (default-serial-console): Use primary console as
fallback.
* gnu/system/install.scm (%installation-services): Add agetty tty for
consoles.

Change-Id: Iae01f7bc85b5ffdef2e52b1d0710889915b0f54a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 09:17:33 +01:00
Rutherther 84a018b356 installer: network: Check response code to assess substitute availability.
This is to accomodate following situation:
- The proxy is up
- The substitute server is down

When that happens, 5xx is returned from the proxy, typically either Bad
Gateway or Gateway Timeout. This implies the substitute server is down.

Still, for checking if the user is online, we do not check the response code.
If there is a response, even 4xx, 5xx, it still means the user is online.

* gnu/installer/newt/network.scm
(url-alive?): Add optional argument to to check the response code.
(common-urls-alive?): Add the same argument, passing it to url-alive?
(check-substitute-availability): Assume offline when non-successful http code
returned.

Follow up of 9ea2174ba8.
Change-Id: I52ae8a49407009dd76ad5da3925355770bc25d0c

Change-Id: I99a77cb7332198bae84f28a00a6cc0409d5bf3b9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5217
2026-01-14 09:16:50 +01:00
Janneke Nieuwenhuizen 0ac92150b1 installer: Add Hurd x86_64 as an option.
* gnu/installer/newt/kernel.scm (run-kernel-page): Rename "Hurd" to "Hurd
32-bit (experimental)".  On 64-bit, also offer "Hurd 64-bit (highly
experimental!)", and make these strings translatable.  Make "Linux Libre" the
first option.  Add a line break after "When in doubt...".  Upon re-entrry,
use pre-selected kernel as the default.  Make sure to always [re]set
%current-target-system, as this page may be revisited and another kernel
choice selected.
* gnu/installer/kernel.scm (kernel->configuration): Update accordingly.
* gnu/installer/final.scm (install-system): Also cater for the 64-bit Hurd by
simply adding --target=(%current-target-system).

Change-Id: I14cb2d2815265b8841c16cf9bcc3857b1024f507
2026-01-14 09:16:49 +01:00
Yelninei 0afb832a3b gnu: sudo: Add libxcrypt dependency on the Hurd.
* gnu/packages/admin.scm (sudo)[inputs]: Add libxcrypt on the Hurd.

Change-Id: I3d43526d10ca7d758b4f4870d84923be3a39977d
2026-01-14 09:16:48 +01:00
Yelninei bb5e506f26 gnu: hurd: Add libxcrypt dependency.
Fixes guix/guix#5538

* gnu/packages/hurd.scm (hurd)[inputs]: Add libxcrypt.

Change-Id: I69e9624040d4b265ddb891ce894ce9a26032df36
2026-01-14 09:16:48 +01:00
Efraim Flashner 6b44fc4f9b gnu: llvm-18: Skip tests on powerpc64le-linux.
* gnu/packages/llvm.scm (llvm-18)[arguments]: Adjust the tests flag to
skip the tests on powerpc64le-linux.

Change-Id: I2a1c25642b00b29f53be619b72eea27c005f2db8
2026-01-14 09:16:47 +01:00
Efraim Flashner 82e58c26db guix: Spelling corrections.
* guix/gnupg.scm,
guix/import/composer.scm,
guix/import/cpan.scm,
guix/import/crate/cargo-lock.scm,
guix/import/hackage.scm,
guix/import/json.scm,
guix/licenses.scm,
guix/packages.scm,
guix/scripts/import.scm,
guix/ui.scm: Fix misspellings in comments and doc strings.

Change-Id: I8e922f8e980214e345a42a995788a7c4adb9184d
2026-01-14 09:16:46 +01:00
Efraim Flashner 35930066e5 etc: Spelling corrections.
* etc/apparmor.d/guix,
etc/teams/release/artifacts-manifest.scm: Fix misspellings in comments.

Change-Id: Iff757784cc82968c25004bdb430f1ae3ad44624e
2026-01-14 09:16:45 +01:00
Efraim Flashner 9efc2a690e nix: Spelling corrections.
* nix/libstore/globals.hh,
nix/libstore/store-api.hh,
nix/libutil/util.hh: Fix misspellings in comments.

Change-Id: Id77ea2bde1c2582d1a7bec4ed256ea900998c4b8
2026-01-14 09:16:45 +01:00
Efraim Flashner 0e0884eb4f gnu: freerdp: Update to 3.20.0.
Fixes: #5268.

* gnu/packages/rdesktop.scm (freerdp): Update to 3.20.0.
[source]: Remove patch.
[arguments]: Adjust test-exclude, configure-flags for new version.
* gnu/packages/patches/freerdp-3.16.0-rpath.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Change-Id: If30bfff499cc57b2158c7be5dc9644f8898bb492
2026-01-14 09:16:44 +01:00
Rutherther 64668f7c15 etc: release: Add spare space to the release VM image.
* etc/teams/release/artifacts-manifest.scm (qcow2-for-system): Make size 20
GiB.

Fixes: #5081
Change-Id: I11f932c417efc086b99f41a8ffc1f56ee86234f9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5218
2026-01-04 12:47:39 +01:00
Rutherther 7c52959ae4 Make sure only Guix channel is used to produce release artifacts.
This ensures that only Guix channel is used, with the default url.

* Makefile.am (release): Add "-q" to time-machine.

Change-Id: I3102660919e946a7df4620318d11599cdbde7ad8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:37 +01:00
Roman Scherer 8346bca4e5 gnu: plasma-desktop: Skip failing test on AArch64.
The tst_calibrationtool test fails on aarch64 due to floating-point
precision issues: QMatrix4x4 comparison fails with tiny differences
(1.11759e-08 instead of exact 0).

* gnu/packages/kde-plasma.scm (plasma-desktop)[arguments]: Add
tst_calibrationtool to test-exclude on aarch64.

Change-Id: I3875329704b50b1ecd3ccea41a355d53deb517cf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4846
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:01 +01:00
Roman Scherer 395b003094 gnu: kwin: Skip failing tests on AArch64.
* gnu/packages/kde-plasma.scm (kwin)[arguments]: Add
kwin-testSecurityContext and kwin-testXwaylandSelection to test-exclude.

Change-Id: I0256e0e390552deb54eb0b5368f1799800ec8cb0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:01 +01:00
Rutherther 535ff8ec97 gnu: bcachefs-static: Do not depend on %current-system in toplevel.
Make the variables that depend on %current-system procedures and call them
from package arguments, a thunked field.

* gnu/packages/file-systems.scm
(bcachefs-tools-rust-target): Make it a procedure.
(bcachefs-tools-target/release): Make it a procedure.
(bcachefs-tools-cargo-args): Make it a procedure.
(bcachefs-tools-make-flags): Make it a procedure.
(bcachefs-tools-make-install-flags): Make it a procedure.
(bcachefs-tools-minimal): Call newly made procedure.
(bcachefs-tools): Call newly made procedure.
(bcachefs-tools-minimal/static): Call newly made procedure.

Fixes: #5195
Change-Id: I9f08b3e34f869b8f9f54b71192eff61357e9cc85
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5219
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:00 +01:00
Rutherther d078db3272 etc: guix-install.sh: Set XCURSOR_PATH to proper default value.
As can be seen in the Xcursor docs, the default path is
`~/.local/share/icons, ~/.icons, /usr/share/icons, /usr/share/pixmaps`,
zzz-guix.sh is currently missing the first two.

* etc/guix-install.sh (sys_create_init_profile): Add home paths to XCURSOR_PATH.

Change-Id: I4284d7648394c06b83e4eba91882b81c8a35d706
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5231
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:59 +01:00
Rutherther 9f47269602 scripts: package: Encourage unsetting GUIX_PROFILE.
GUIX_PROFILE should typically be unset, to prevent issues when sourcing
etc/profile of other profiles. So encourage it by showing it in the hint.

Followup of 50a2d73eac.

* guix/scripts/package.scm (display-search-path-hint): Add unset GUIX_PROFILE
to displayed hint.

Change-Id: Ie1564750017dde8bf896c79e463067699df709eb
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5118
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:58 +01:00
Rutherther f75737f42c system: operating-system-etc-service: Unset GUIX_PROFILE.
This seems to have been omitted, currently users on default Guix System
installations do have GUIX_PROFILE set to their ~/.config/guix/current.
This is wrong and can lead to some surprises when sourcing etc/profile
of a Guix profile.

Followup of 50a2d73eac.

* gnu/system.scm (operating-system-etc-services): Clean up GUIX_PROFILE.

Change-Id: Ia5bfb1907fa7ae887ac0336e6cd1922e611b6bdf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5119
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:57 +01:00
Ludovic Courtès cf005b5107 doc: Add missing double quotes in ‘mapped-device’ snippet.
* doc/guix.texi (Mapped Devices): Add missing double quotes in
‘luks-device-mapping’ example.

Change-Id: I5bcd980ec3d5d142ea37697575f539d640bc6466
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:57 +01:00
Ludovic Courtès d2a93e6113 describe: Add channels to the load path right after ‘guix’.
* guix/describe.scm (append-channels-to-load-path!): Add ‘channels-scm’ and
‘channels-go’ in second position.

Fixes: guix/guix#4819
Fixes: https://issues.guix.gnu.org/74396
Reported-by: Thijs Paelman <thijs@ouroboros.rocks>
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I430dd6e6e2bd9e423d47dbb310d4553f6cd7f19b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5074
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:56 +01:00
Rutherther 7c3185afcb image: operating-system-for-image: Bring back root-fs placeholder.
To calculate the UUID in `root-uuid`, the operating-system has to have a root
file system, because it's typically used in the
operating-system-boot-parameters.

Followup of efc32c6684 that it partially reverts.

* gnu/system/image.scm (operating-system-for-image): Re-introduce root file
system to operating-system used to calculate the UUID.

Fixes: #5131
Reported-By: Yelninei <yelninei@tutamail.com>
Change-Id: Ica2c3d3715cd90fccf3a7484f390b36de3cdfe7f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5141
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:55 +01:00
Rutherther cd5fb8ce34 gnu: guix: Disable new syscall tests on armhf.
These tests currently fail on armhf. They would require large amount of time
or knowledge to be fixed and it's on a platform that's already not being
supported too well.

Followup of d339785a0f.

* gnu/packages/package-management.scm (guix): Disable new tests in
tests/syscalls.scm on arm32.

Change-Id: I056fb04a9a1230ed3d8718a4719a5f6d7010b847
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:54 +01:00
119 changed files with 189669 additions and 24305 deletions
+8 -3
View File
@@ -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)" && \
+75 -5
View File
@@ -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 Shepherds 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>)
+6
View File
@@ -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
View File
@@ -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'...~%"
+9 -3
View File
@@ -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
+6 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -5,7 +5,7 @@ include <tunables/guix>
# Theres 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
View File
@@ -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"
+20
View File
@@ -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")
+2 -1
View File
@@ -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)
+1 -1
View File
@@ -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))
;;;
+13 -2
View File
@@ -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"))))
;;;
+72 -1
View File
@@ -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
+5 -3
View File
@@ -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)
+3 -2
View 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"))
+33 -8
View 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.
;;;
@@ -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))
+16 -8
View File
@@ -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
+16 -13
View File
@@ -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."
+13 -5
View File
@@ -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
View File
@@ -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 \
+1 -1
View File
@@ -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
+21
View File
@@ -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")
+16 -16
View File
@@ -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
View File
@@ -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.
+2
View File
@@ -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)
+2
View File
@@ -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
+12 -4
View File
@@ -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
+5 -1
View File
@@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182022 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
+13
View File
@@ -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 + \
+4 -10
View File
@@ -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?)
+36 -36
View File
@@ -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"
+8
View File
@@ -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
View File
@@ -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)))
+4 -5
View File
@@ -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))
+5 -5
View File
@@ -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
+3
View File
@@ -1113,6 +1113,9 @@ do
fi
done
# Clean up after ourselves.
unset GUIX_PROFILE
# Prepend privileged programs.
export PATH=/run/privileged/bin:$PATH
+10 -8
View File
@@ -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.
+6 -1
View File
@@ -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)
+7 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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))))
+3 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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:]]+)(.*)"))
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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))
+1 -1
View File
@@ -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))))
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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?
+1 -1
View File
@@ -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)
+1
View File
@@ -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
View File
@@ -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 '(#\@ #\{ #\}))
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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
View File
@@ -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);
+15 -3
View File
@@ -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"
+12 -5
View File
@@ -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."
+3 -3
View File
@@ -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"
+5 -5
View File
@@ -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
View File
@@ -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."
+3 -36
View File
@@ -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."
+3 -51
View File
@@ -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"
+5 -32
View File
@@ -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:"
+6 -36
View File
@@ -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"
+3 -21
View File
@@ -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"
+3 -27
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+823 -721
View File
File diff suppressed because it is too large Load Diff
+3816 -2360
View File
File diff suppressed because it is too large Load Diff
+417 -384
View File
File diff suppressed because it is too large Load Diff
+285 -273
View File
File diff suppressed because it is too large Load Diff
+285 -273
View File
File diff suppressed because it is too large Load Diff
+1187 -1186
View File
File diff suppressed because it is too large Load Diff
+420 -384
View File
File diff suppressed because it is too large Load Diff
+314 -317
View File
File diff suppressed because it is too large Load Diff
+355 -330
View File
File diff suppressed because it is too large Load Diff
+1384 -1331
View File
File diff suppressed because it is too large Load Diff
+290 -277
View File
File diff suppressed because it is too large Load Diff
+420 -384
View File
File diff suppressed because it is too large Load Diff
+282 -269
View File
File diff suppressed because it is too large Load Diff
+415 -385
View File
File diff suppressed because it is too large Load Diff
+1252 -1239
View File
File diff suppressed because it is too large Load Diff
+737 -636
View File
File diff suppressed because it is too large Load Diff
+486 -450
View File
File diff suppressed because it is too large Load Diff
+489 -450
View File
File diff suppressed because it is too large Load Diff
+278 -265
View File
File diff suppressed because it is too large Load Diff
+3511 -2275
View File
File diff suppressed because it is too large Load Diff
+417 -384
View File
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