1
0
forked from tribes/guix

Compare commits

..

425 Commits

Author SHA1 Message Date
Rutherther d58da8a56b gnu: guix: Update to 1.5.0.
Change-Id: I8bb857646c87bd5ba7da67a6166371ff9e6c4a20
2026-01-21 18:33:35 +01:00
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
Rutherther d339785a0f gnu: guix: Update to 1.5.0rc1.
Change-Id: I5afcfb7071c559b356e435bdefb4624a2c4ffa00
2025-12-23 10:31:56 +01:00
Rutherther 2d4ed08662 etc: release: Switch to Guile declaration of artifacts.
This is a rewrite of the bash commands for generation of guix binary
tarballs and system images to Guile. I am expecting this will help us
significantly with getting the same derivations locally and from Cuirass,
instead of relying on images/tarball job specifications and trying to tweak
it locally to have the same ones.

Implements: #4347, #4348.

* etc/teams/release/artifacts-manifest.scm: Make a manifest with
release artifacts for all supported systems.
* etc/teams/release/artifacts.scm: Collect artifacts for
all supported systems into a union with proper names for
the release artifacts.
* Makefile.am (release): Use time-machine instead of pre-inst-env; Switch to
building new artifacts.scm

Change-Id: I71a6a27e6f315dd31b91c49e71dff2d09695c0dc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-23 09:16:05 +01:00
Rutherther ab63e29e90 installer: Drop uri from provenance log.
To synchronize the artifacts made from Cuirass, pre-inst-env
and time-machine, drop the url from provenance sexp.

* gnu/installer.scm (provenance-sexp): Drop url.

Change-Id: Ibe2515abdc92853ce06c0381dd03cc61b2077335
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:46 +01:00
Rutherther e2857e21fa system: install: Remove current-guix url override.
Prefer parameterization of current-guix in release artifacts
generation.

* gnu/system/install.scm (%installation-service): Use (current-guix)
directly in guix service configuration.

Change-Id: Ifa363465e6a4f6936d0e51eaf1b33872519e2b0a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:46 +01:00
Rutherther 105dbf7dee vm-image.tmpl: Remove current-guix url override.
This simplifies things thanks to the release artifacts now, they have been
rewritten to Guile and can now supply current-guix-package as a parameter, as
was intended. That way the checkout is not leaked for the release artifacts.

* gnu/system/examples/vm-image.tmpl
(guix-package-commit): Remove variable.
(operating-system): Use (current-guix) directly.
* gnu/system/examples/vm-image-efi.tmpl: Likewise.

Change-Id: Iabf1bb5bbb86b9984bfb87ba0543782a6dce3192
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:45 +01:00
Rutherther d226cc4933 image: system-iso9660-image: Propagate image-name to derivation name.
* gnu/system/image.scm (system-iso9660-image): Use name from image-name
instead of hardcoded image.iso.

Change-Id: I3cea3857729c2eb7d6728f650db7fb33cf4c8c8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:44 +01:00
Rutherther 86a6006f41 Split release Makefile target to two.
Due to recent changes, the commit has to be published
to create the artifacts. Because of that, split the
target to two.

* Makefile.am
(release): Move first steps to prepare-release
(prepare-release): New target; Beginning of release.

Change-Id: I325c6dc36f7298482de7797c1e01fdaa70ef80c5
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:43 +01:00
Rutherther 8ba84edf99 linux-initrd: Support more virtio modules in initrd.
Adds mmio and scsi modules for virtio. scsi one is needed for using
virtio-scsi-pci, that can be a common option on aarch64, where only two
options pop up for mounting disks:
- virtio-scsi-pci
- virtio-blk

While virtio-blk should generally be preferred, sometimes virtio-scsi-pci pops
up first on the internet, so people can use it.

virtio-mmio is a necessity on Aarch64 for virtio-blk to work.

* gnu/system/linux-initrd.scm (default-initrd-modules): Add virtio_mmio and
virito_scsi.

Change-Id: Ia8fabb5594893ef1712359d27d482d9f44dc89c0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:42 +01:00
Rutherther b7a1223052 system: vm-image-efi.tmpl: Add example efi vm image.
This is a copy of vm-image.tmpl, but with
efi bootloader. Since user ends up with this
config in their /run/current-user/configuration.scm
and the regular way to continue is to copy
that file and reconfigure off of it, it seems
better to just keep distinct configuration.

Moreover xf86-video-intel is removed,
because it doesn't compile on aarch64.

* gnu/system/examples/vm-image-efi.tmpl

Change-Id: I0f72ac5a775339ee84cb1a4046ca5a8deca0e2ea
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:42 +01:00
Rutherther 9e7e40b8bd services: xorg: Return only supported packages in %default-xorg-modules.
The xorg modules are used inside of services that's thunked. So we can
make them depend on the %current-system.

* gnu/services/xorg.scm
(default-xorg-modules): New variable.
(%default-xorg-modules): Return result of (default-xorg-modules).

Change-Id: I10f722e52d598ce3e83ef3f200b3bd953bc08e17
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:41 +01:00
Rutherther 0801604990 gnu: make-iso9660-image: Do not compress any kernel, compress man pages.
Because the linux image is called differently based on the architectures,
see system-linu/-image-file-name from gnu/system.scm, the kernel image
on aarch64, mips and armhf has still been compressed. This means that
grub cannot boot.

Man pages have moved from gz to zst, so compress them as well.

* gnu/build/image.scm (make-iso9660-image): Do not compress Image, vmlinuz and
zImage; Compress all man pages.

Change-Id: I68b35f383c84ff231865d580aa9e79d9fd88ace1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:40 +01:00
Rutherther 5623e63313 system: installation-os: Support efi-only.
Aarch64 doesn't support grub-pc, so we cannot
use the regular grub-bootloader, grub-efi-bootloader
has to be used.

Since neither packages nor bootloader are thunked,
there seems to be no other choice than using something
from the outside environment, such as an environment
variable to decide what bootloader to use.

For convenience, a procedure is made to be used from
other Guile code, instead of relying on environment
variables.

* gnu/system/install.scm
(make-installation-os): New variable; Use grub-efi-bootloader when
efi-only? is #t; Use bootloader package in packages instead of grub-pc.
(installation-os): Replace with call of make-installation-os with default
arguments.

Change-Id: I34ec8da6079617f39805b3e1168bad4a42d84cab
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:39 +01:00
Rutherther efc32c6684 image: Add /boot/efi filesystem if operating-system specifies it.
Instead of forgetting about the /boot/efi system completely, re-add it
with proper label. This way lightweight.tmpl, desktop.tmpl still
boot when supplied to guix system image. That was the reason for
removing /boot/efi file-system in the first place. Removing it however
means the target system cannot be reconfigured by default, as the
esp is not mounted.

* gnu/system/image.scm
(partition-has-flag?): New variable.
(root-partition?): Use it.
(find-partition-with-flag): New variable.
(find-root-partition): Use it.
(find-esp-partition): New variable.
(operating-system-for-image): Add /boot/efi file-system with proper
label instead of removing it completely.

Change-Id: I3ef2120059d8bbf76170d10ae718cb0de637f453
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:39 +01:00
Rutherther 20157dae27 image: Add qcow2-gpt image type.
qcow2 is a mbr-hybrid image. But on aarch64, we
have to use grub-efi bootloader. For that bootloader,
gpt should be used and Guix errors if it isn't (due to
failed check in Guix code). So it's impossible to generate
qcow2 type aarch64 image without using customized bootloader.
One would have to define their own image instead of using
the ones pre-defined.

* gnu/system/system.scm (qcow2-gpt-image-type): New variable.
* doc/guix.texi: Document qcow2-gpt and its use.

Change-Id: I93f0880c7ca2d3f934067c12dd1143ad20828333
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:38 +01:00
Rutherther 2576c66e47 image: operating-system-for-image: Support AArch64 iso.
Let the user decide for grub/grub-efi in cases where
grub-hybrid is unsupported. This is the case on
aarch64, where grub-pc is not supported, so only
grub-efi can be used.

* gnu/system/image.scm (operating-system-for-image):
Do not replace bootloader with grub-mkrescue-bootloader
for iso9660 when grub-hybrid is not supported.

Change-Id: Icd2b68155935b1d9599c1b0df22f0c80a2e36d6a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:37 +01:00
Rutherther bb2263102a guix-install.sh: Do not set GUILE_LOAD_PATH in zzz-guix.sh.
Channels from the load path will shadow channels used through time-machine or
used through any other guix than the one in ~/.config/guix/current. This is
true for all channels that are in ~/.config/guix/current except guix.  On Guix
System, /run/current-system/profile/share/guile/site/3.0 is usually in
GUILE_LOAD_PATH that typically has only Guix, so no shadowing happens in most
cases.

For using Geiser and other sw, it's possible to configure them to use "guix
repl" that's intended for this use case. This is then makes the guix being
used explicit.

It is expected that this is only a temporary solution. After a proper
solutions is found, it will be reverted.

Workaround #4819.
Reverts: 78390634d7.

Change-Id: I36b921a758618f382af9097003415f902b27c44b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:54:11 +01:00
Noé Lopez 3dadea4b6d guix-install.sh: Install AppArmor profile.
* etc/guix-install.sh (sys_maybe_setup_apparmor): New function.
(main_install): Call it.
(sys_delete_apparmor_profiles): New function.
(main_uninstall): Call it.

Fixes #4210.
Fixes <https://issues.guix.gnu.org/71226>.

Change-Id: Ice4bf4d91a1ae438fc5654dec327f53ae9a7b888
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:59 +01:00
Noé Lopez 51a1475599 self: Install AppArmor profile.
* guix/self.scm (apparmor-tunables): New procedure.
(miscellaneous-files): Add etc/apparmor.d/{guix,guix-daemon,tunables/guix}.

Change-Id: I8952ef4097924d62432775cc39d38098785fdcdf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:59 +01:00
Noé Lopez 60782c20d4 etc: Add AppArmor profile for the guix command.
* etc/apparmor.d/guix: New file.
* Makefile.am (nodist_apparmor_profile_DATA): Add it.

Change-Id: I3d61238203d7663ce582717f8e4eac4c6f679928
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:58 +01:00
Noé Lopez 587fd2dad4 etc: Add AppArmor profile for the daemon.
* .gitignore: Add etc/apparmor.d/tunables/guix.
* Makefile.am (nodist_apparmor_profile_DATA)
(nodist_apparmor_profile_tunables_DATA): Define it.
* configure.ac: Generate etc/apparmor.d/tunables/guix. Add
--with-apparmor-profile-dir option.
* etc/apparmor.d/guix-daemon: New file.
* etc/apparmor.d/tunables/guix.in: New file.
* doc/guix.texi: Document AppArmor profiles.
* gnu/packages/package-management.scm (guix): Add future changes commented.

Change-Id: Iac7df9d642383cc46a2d450c3badef31199ab041
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:57 +01:00
Rutherther 9a78e76076 guix-daemon.service.in: Make service restartable.
Currently the service cannot be restarted, because the gnu store mount makes
it read-only. So fix this by removing the mount when starting the service.

"-" to accept failures, in case the command doesn't finish successfully,
chances are, the store can be mounted as RW, so continue.
"+" to run as root

Fixes: #4744

* etc/guix-daemon.service.in
(Service)<ExecStartPre>: Stop gnu-store.mount
(Service)<ExecStartPost>: Start gnu-store.mount

Change-Id: I296f5d8805497f8a7364b68d627eb6d4fc05dbff
2025-12-22 22:48:48 +01:00
Aaron Covrig a2df6c460f gnu: pius: Update to 3.0.0-0.5f7c10b.
* gnu/packages/gnupg.scm (pius)[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:check>: Execute project test script.
[native-inputs]: Add python-setuptools.
[home-page]: Update url.

Change-Id: I8d1228789cde2de4dda67a07f9859bb47e510608
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2025-12-22 18:56:48 +01:00
jgart 5ecec89784 gnu: Add hare-mcron.
* gnu/packages/hare-apps.scm (hare-mcron): New variable.

Change-Id: I324f5711cf359ac996111f6adcb71db5ff68dda5
2025-12-22 10:44:13 -06:00
jgart 5192dc2ff3 gnu: trealla: Update to 2.88.1.
* gnu/packages/prolog.scm (trealla): Update to 2.88.1.

Change-Id: I8770e77950a53ef0284fe50248bed5fab01d70a0
2025-12-22 10:18:17 -06:00
Ashvith Shetty 4b25873c12 services: Modernize redis service.
* gnu/services/databases.scm
(redis-configuration): Rewrite using `define-configuration'.
(redis-shepherd-service): Honor it.
* doc/guix.texi (Database Services) <redis>: Regenerate
documentation.

Change-Id: I5b99822ca3d8d23fb5133497d00eada0336d0c65
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2158
2025-12-22 15:42:39 +01:00
Yelninei b00a27c427 gnu: shepherd@1.0: Don't inherit package arguments.
Followup to e1038aee6d.

Previously when cross compiling the fibers directory was reset to fibers 1.3
because evaluating the arguments of shepherd@0.10 with '(package-arguments
shepherd-0.10)' kept the reference to the fibers input of shepherd@0.10.

Work around this by not using 'substitute-keyword-arguments' and replacing
'this-package-input' with 'search-input-file'.

* gnu/packages/admin.scm (shepherd-1.0)[arguments]:
Replace 'substitute-keyword-arguments' with explicit arguments.
Use search-input-file in 'set-fibers-directory phase to search for the cross fibers.

Change-Id: Ia1061d8cea531569385f4a0136cfd22f27ce5a0e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4672
2025-12-22 15:42:39 +01:00
Ludovic Courtès f55793c575 archive: Make /etc/guix/signing-key.* readable by ‘guix-daemon’.
The manual suggests running ‘guix archive --generate-key’ as root, but that
would lead to root-owned /etc/guix/signing-key.{pub,sec}, with the secret key
unreadable by the unprivileged guix-daemon.  This fixes it.

Reported in guix/guix#4844.

* guix/scripts/archive.scm (generate-key-pair)[ensure-daemon-ownership]: New
procedure.
Use it for ‘%public-key-file’, ‘%private-key-file’, and their parent
directory.

Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I7ae980bfd40078fb7ef27a193217b15f366d5d50
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4958
2025-12-22 15:11:27 +01:00
Ludovic Courtès 0ac2a0fd18 authenticate: Report failure to load keys to the daemon.
Previously, when failing to load a signing key, ‘guix authenticate’ would
print a backtrace and exit with a non-zero code.  That, in turn, would lead
the guix-daemon child process to crash with:

  nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.

This patch fixes it by reporting the error to the daemon as was intended.

* guix/scripts/authenticate.scm (guix-authenticate): Arrange to call
‘load-key-pair’ from within ‘with-reply’.
* tests/guix-authenticate.sh: Test it.

Fixes: guix/guix#4928
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I8654ad6fdfbe18c55e1e85647d0c49f408d0574a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4961
2025-12-22 15:10:52 +01:00
Ludovic Courtès 5d6dfd8981 authenticate: Improve error replies.
* guix/scripts/authenticate.scm (guix-authenticate)[send-reply]: Wrap guard in
‘with-fluids’.  Call ‘string-trim-right’ on the message string of ‘c’.

Change-Id: I6ab5f645f2dc9d6f53bb57eabb4de1df8212892f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-22 15:10:52 +01:00
Nguyễn Gia Phong ce279acd14 doc: Fix typo.
* doc/guix.texi (Mapped Devices): Fix typo.

Change-Id: I72a5e0e651e3926def0bd5fdb67ccc01cc8a2041
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:19 +01:00
Rutherther 49bf395754 maint: Adjust final inputs self contained check for changes.
The check script has been failing, %final-inputs have been changed
to a procedure that takes the system.

* build-aux/check-final-inputs-self-contained.scm
(final-inputs): Call %final-inputs procedure with system.

Change-Id: Id4d40387e669c996a380f64c73432d916915ead5
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:18 +01:00
Rutherther 0ecfe335b9 scripts: system: Do not pull checkouts for same commit.
In case a user reconfigures to the same commit, do not
update cached checkout unnecessarily.

* guix/scripts/system/reconfigure.scm (channel-relations): Return early for
matching old and new commits.

Change-Id: Ia4b7300bbce40f7d809946dd3514715b74cd17f9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:18 +01:00
Rutherther 2a0ac4cba5 daemon: Ensure store is writable even as non-root.
If the store is read only, return an error early.
This is bit of a compromise. Not all operations of the daemon need the store
as writable. For example, if hello package is built already `guix build hello`
could previously succeed even if store is RO.

* nix/libstore/local-store.cc
(makeStoreWritable): Rename to ensureStoreWritable.
(ensureStoreWritable): As non-root, check that the store is writable and if
not, throw an error.
(LocalStore::LocalStore): Use it.

* nix/libstore/local-store.hh: Rename makeStoreWritable to ensureStoreWritable.

Change-Id: I94783ba7e32d57bfa77e37e84b6ac316f95e31e2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:17 +01:00
Ashish SHUKLA 09eda1627e gnu: drawterm: Update to 20251123.
* gnu/packages/plan9.scm (drawterm): Update to 20251123.
(drawterm-wayland)[inputs]: Add libdecor.

Closes: guix/guix#4894
Change-Id: Ibd869ee9acfb5d6aef0d58c13f6477fc2ac8ba47
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-22 18:06:24 +08:00
Ashish SHUKLA 0efdde91f6 gnu: labwc: Update to 0.9.3.
* gnu/packages/wm.scm (labwc): Update to 0.9.3.

Closes: guix/guix#4981
Change-Id: I3f80aed5a365b2713dc9f5f0272bb225f3004c5e
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-22 18:06:24 +08:00
Patrick Norton 9ce8160844 gnu: nml: Update to 0.8.1.
* gnu/packages/game-development.scm (nml): Update to 0.8.1.
[arguments]: Fix test phase.

Closes: guix/guix#5004
Change-Id: I03b80af19d809295411b85df491d7423837e6f59
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-22 18:06:23 +08:00
Andy Tai 1dfcd17b4d gnu: monado: update to 25.1.0.
* gnu/packages/graphics.scm (monado): Update to 25.1.0.

Change-Id: Idd4bc66f1fd03fb9805647424dec0d5cda8bc123
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-22 10:33:29 +01:00
Hilton Chain 7a4de7a900 teams: Update team status for Hilton Chain.
* etc/teams.scm (hako): Remove teams.

Change-Id: Ib563d084e2bc2d603c7968e04bed0d222f547a0d
2025-12-22 15:04:26 +08:00
bdunahu 46d1961908 gnu: Add iaito.
* gnu/packages/engineering.scm (iaito): New variable.

Change-Id: I82f84d09b31dca5373b290c1b5c4388e86941bc0
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-22 15:54:59 +09:00
Cayetano Santos 4de4d270fb gnu: Add python-cocotbext-axi.
* gnu/packages/electronics.scm (python-cocotbext-axi): New variable.

Change-Id: I1ca017ef9d9253f01dd74f25de04ed2551b4a620
2025-12-22 07:50:15 +01:00
Cayetano Santos fb62e8f046 gnu: Add python-cocotb-test.
* gnu/packages/electronics.scm (python-cocotb-test): New variable.

Change-Id: Iefe86be6c6d15280694e79b13ec013056346be01
2025-12-22 07:50:15 +01:00
Cayetano Santos b063cd4aa7 gnu: python-cocotb: Complete tests.
* gnu/packages/electronics.scm (python-cocotb)[arguments]: Add
’run-examples #:phase.

Change-Id: I3347baa3d21e6aec80d4e72a4d67dbe003bd8c2e
2025-12-22 07:50:15 +01:00
Stuart Dilts 228154a5bd gnu: cl-xkbcommon: Update to 0.2.0.
* gnu/packages/lisp-xyz.scm (cl-xkbcommon): Update to 0.2.0.
Change-Id: I6ce2c9115ad6b1b0926dcceae83270ffaa1dc4d8
Signed-off-by: jgart <jgart@dismail.de>
2025-12-21 20:54:48 -06:00
Hugo Buddelmeijer 4281704a25 build: Make /etc/hosts a regular file again.
Commit 7c70a1080a0823fd3dd0f7ee83e5d7654ab6a872 ("gnu/system: Simplify the
creation of /etc (was: Turn /etc/localtime into a symlink)") made all of the
files under /etc other than sudoers symlinks to their store target.  This
causes a problem at least for the vpn-slice service, which expects to be able
to write to said file.

* gnu/build/activation.scm (activate-etc): Special-case /etc/hosts to make it
a regular file.

Change-Id: Ia42dacd8731edba5e72442ab0399bdc3f7101989
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
Fixes: #4800
2025-12-22 10:46:52 +09:00
Maxim Cournoyer cb8db48a17 gnu: luanti-mineclonia: Lint synopsis and description.
* gnu/packages/luanti.scm (luanti-mineclonia)
[synopsis]: Drop leading article.
[description]: Use double spaces.

Change-Id: I3c0decb3135cbdeb925636633e16bc3a9267f53a
2025-12-22 09:05:17 +09:00
Maxim Cournoyer a448bfa85a gnu: luanti-mineclonia: Update to 0.118.1.
* gnu/packages/luanti.scm (luanti-mineclonia): Update to 0.118.1.

Change-Id: I788954d1372921e70a36cca77fc4d70f84811295
2025-12-22 09:05:17 +09:00
Sharlatan Hellseher 8148ca8437 gnu: grammalecte: Switch to pyproject, fix build.
* gnu/packages/dictionaries.scm (grammalecte):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: Ief9385fc1dab0f77430843c7a5a2343a2c3e25a1
2025-12-21 23:30:45 +00:00
Sharlatan Hellseher 6168d37404 gnu: podman-compose: Use unittest.
* gnu/packages/containers.scm (podman-compose):
[arguments] <test-backend, test-flags>: Use unittest as seen in
project's GitHub Actons.
<phases>: Remove 'pre-check.
[native-inputs]: Remove python-pytest and python-wheel.

Change-Id: I6da2f7f4c55f4cd22919d7f7827b2be58993f2e2
2025-12-21 22:20:16 +00:00
Foster Hangdaan 992bcd7eed gnu: podman-compose: Update to 1.5.0.
* gnu/packages/containers.scm (podman-compose): Update to 1.5.0.
[arguments] <test-flags>: Only run tests in `tests/unit`.
[arguments] <phases>: Add before-checks phase to fix a ModuleNotFoundError.

Change-Id: Ia9b8900bd71c848559b067d48e7eb4bf212f0f73
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-21 22:18:22 +00:00
Francisco-Galindo 303b10692b gnu: Add python-simpy.
* gnu/packages/simulation.scm (python-simpy): New variable.

Change-Id: Ic95e6b0656dc2e2deffb543491c64ad5ae14632c
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-21 22:08:56 +00:00
Hugo Buddelmeijer 4d033008a2 gnu: python-2.7: Hide CVE-2023-36632
* gnu/packages/python.scm (python-2.7):  Hide CVE-2023-36632

Change-Id: Ifd217b0ecfb0ef5025fbc313c6c7a7e771501c77
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-21 22:08:55 +00:00
jgart ae36f472bc teams: lisp: Add manifest.
* etc/teams/lisp/lisp-manifest.scm: New file.

Change-Id: I9e23464197978bc6236eb13d42bd9bc3069bddeb
Signed-off-by: jgart <jgart@dismail.de>
2025-12-21 16:01:45 -06:00
Lilah Tascheter 20263c4a82 etc: Add tinystar to Hare team.
* etc/teams.scm (Lilah Tascheter): New member.

Signed-off-by: jgart <jgart@dismail.de>
2025-12-21 15:57:45 -06:00
Sergey Trofimov 5b7f0a952c gnu: emacs-yeetube: Simplify locate-binaries phase.
* gnu/packages/emacs-xyz.scm (emacs-yeetube)
[arguments]<#:phases>{locate-binaries}: Reduce code duplication.

Change-Id: Ibe5ae19ec7877a81b80f28052680feab7fb154ab
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-21 18:02:14 +01:00
Sergey Trofimov 724d0cc753 gnu: emacs-yeetube: Update to 2.1.10.
* gnu/packages/emacs-xyz.scm (emacs-yeetube): Update to 2.1.10.

Change-Id: I6db1e506b050454cd9b95292c95800370ea6da03
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-21 18:02:05 +01:00
Cayetano Santos b172762c2d gnu: Remove python-urllib3-next.
* gnu/packages/python-web.scm (python-urllib3-next): Delete variable.

Change-Id: If58db641c59c3a2e63e1b043a1840dac0f7ae327
2025-12-21 17:54:25 +01:00
Cayetano Santos 5b0873aeb1 gnu: xkcdpass: Modernize package.
* gnu/packages/password-utils.scm (xkcdpass)[source]: Use direct #:url.
[home-page]: Move before synopsis.

Change-Id: I6ba4325818f2c6deff3b67a22b48f0cb4cdda929
2025-12-21 17:47:01 +01:00
moksh e235f6d978 gnu: xkcdpass: Switch to pyproject-build-system.
* gnu/packages/password-utils.scm (xkcdpass):
  [build-system]: Change to pyproject-build-system.
  [arguments] <test-backend>: Use "unittest".
  [native-inputs]: Add python-setuptools.

Change-Id: I5d441bde3e1cce3e466e07ecfb69ef47b28b67ec
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-21 17:45:05 +01:00
Cayetano Santos 99d7436c1f gnu: python-canvasapi: Update to 3.4.0.
* gnu/packages/python-web.scm (python-canvasapi): Update to 3.4.0.
[native-inputs]: Remove python-urllib3-1.26 and python-wheel; add python-urllib3.

Change-Id: I565de1aa396b54d028019a90a1b31f75434cdcf4
2025-12-21 17:39:56 +01:00
Hugo Buddelmeijer b1a4c062ce gnu: roguebox-adventures: Fix build.
* gnu/packages/games.scm (roguebox-adventures): Fix build.
[inputs]: Remove python-tmx.

Closes: guix/guix#4995
Change-Id: I67f7736b935d7cb5e03f5b4a89e5aa5487668e19
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-21 19:39:06 +08:00
Ian Eure 1434b4e6c7 gnu: python-pypresence: Update to 4.6.1 and fix the build.
* gnu/packages/messaging.scm (python-pypresence): Update to 4.6.1.
(native-inputs): Add build/test inputs.
(arguments): Declare the build backend.
(arguments): Disable tests.

Change-Id: I798ea40f4be2a1b15a7eed23673529b3a8a0cb41
2025-12-20 14:12:32 -08:00
moksh cb927b546e gnu: librewolf: Update to 146.0.1-1 [security-fixes].
contains fixes for:
CVE-2025-14860: Use-after-free in the Disability Access APIs component
CVE-2025-14861: Memory safety bugs fixed in Firefox 146.0.1

* gnu/packages/librewolf.scm (librewolf): Update to 146.0.1-1.

Change-Id: I0dc2c26bf6b301cd04ce2897b3688f4a3a102e24
2025-12-20 11:06:07 -08:00
Alexey Abramov 4eef7ffd5e gnu: dvdbackup: Fix build with libdvdread 6.1.0+.
* gnu/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch: Add the
patch to fix the build.
* gnu/local.mk: Ship it.
* gnu/packages/video.scm: Use it.
2025-12-20 10:24:55 -08:00
Alexey Abramov d392af43c5 gnu: libdvdnav: Update to 6.1.1.
* gnu/packages/video.scm (libdvdnav): Update to 6.1.1.
2025-12-20 10:24:55 -08:00
Alexey Abramov 63182d1ac9 gnu: Add lsdvd.
* gnu/packages/video.scm (lsdvd): New variable.
2025-12-20 10:24:54 -08:00
Noé Lopez 1e0eb9e8df doc: Warn about specific nologin paths when it is not in PATH.
See <https://codeberg.org/guix/guix/issues/4704#issuecomment-8751141>.

* doc/guix.texi (Build Environment Setup): Add warning in case the nologin
binary is not found.

Reported-by: FuncProgLinux
Change-Id: Ib8aa2bdaf0aef6a589afe638e2fcd539c8276ac7
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 18:21:46 +01:00
Noé Lopez 2dcf1ec33e doc: Update information on installing guix with package managers.
There is no longer a guix package in Debian.  Adapt the instructions to avoid
having to list how to install on every package manager.  The specific
instructions for Parabola are kept since it is a FSDG system.

* doc/guix.texi (Binary Installation): Remove Debian and OpenSUSE installation
instructions.  Update examples of distros with a guix package.  Add
instructions for other package managers.

Change-Id: Ie34b40d7224593df8e51d62d665a15a1b16b8e70
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 18:21:44 +01:00
Rutherther ed1b6b5451 doc: Mention that services doing mounts should depend on user-file-systems.
This is a recent change. If the services do not depend on it, it's possible
user-file-systems will try to unmount the file systems byt itself first.

* doc/guix.texi (Shepherd Services): Mention services should depend on
user-file-systems if they do mounts.

Change-Id: I87f459aa43c2a59ffcae35750e02a08abc3c1f8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:13 +01:00
Rutherther d7fd4eab51 services: shared-cache: Require user-file-systems.
Newly user-file-systems should be required by services
that do operations with mounts.

Change-Id: Ib0438bb2e783e1d7131dcea6a8c166e83850de81
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:12 +01:00
Dariqq 32988df493 services: file-systems: Reverse order of unmounting manual mounts.
* gnu/services/base.scm (file-system-shepherd-services): Reverse order of
mount-points in service 'user-file-systems.

Change-Id: I68df0c22bc6bacdc866b9adf62e7059f20e5842f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:11 +01:00
Dariqq 9aa7f05639 services: file-systems: Make user-file-systems depend on file-systems.
Previously 'user-file-systems depended only on 'file-systems without any requirements.
This inverts the logic to have
file-systems <- user-file-systems <- user-processes

to ensure that all user mounts are already unmounted when shepherd managed
file systems get unmounted.

Fixes: guix/guix#4445
Fixes: guix/guix#1703

* gnu/services/base.scm (file-system-shepherd-services): Remove requirement
of 'file-systems on 'user-file-systems.
Add dependency of 'user-file-systems on 'file-systems.
(file-system-service-type): Add 'user-file-systems to user-processes extension.

Change-Id: I9d89f682fb4b4673fa135d17b2b188788b9f8db1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:11 +01:00
Rutherther f1f27c6838 vm-image.tmpl: Allow empty passwords in base-services.
Change-Id: Ia16fc0418bb9eee29625504a800300958b173c4c
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:10 +01:00
Rutherther 290435009b services: xfce: Allow empty passwords in screenlocker.
* gnu/services/desktop.scm
(xfce-desktop-configuration): Add allow-empty-passwords? field.
(xfce-pam-services): Respect it.

Change-Id: Idd54b6016b5412aacdfbc134bc57de30394a77ad
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:09 +01:00
Thiago Jung Bauermann 09acdd3142 etc: guix-install.sh: Set XDG_DATA_DIRS.
This allows better integration of packages installed by Guix with the
foreign distro. E.g.:

1. .desktop files from applications installed by Guix can be found by
the user's desktop environment.

2. Fonts installed in ~/.guix-profile/share/fonts can be found by GUI
applications without having to install the fontconfig package, as the
the "Application Setup" section of the manual recommends.

* etc/guix-install.sh (sys_create_init_profile): Add $GUIX_PROFILE/share
to XDG_DATA_DIRS.

Change-Id: Iba74b0782ffbad64d64cc1c5889b04012963a3e0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:08 +01:00
Danny Milosavljevic 3c81c4b8b8 gnu: poco: Enable SSL.
* gnu/packages/cpp.scm (poco)[arguments]<#:configure-flags>: Add ENABLE_CRYPTO,
ENABLE_NETSSL.
<#:phases>{disable-problematic-tests}: Add NetSSL_OpenSSL.
[inputs]: Add openssl.

Change-Id: I2b15339b1b4b4917de31c26e031a48f73dea714b
2025-12-19 19:12:40 +01:00
Danny Milosavljevic 33b0df3b26 etc: Add daym to python team.
* etc/teams.scm: Make daym a member of the python team.

Change-Id: I4b9e681f4fa0098a9be02bdac37060d1a0256dda
2025-12-19 18:25:38 +01:00
Jake Forster 5356a7eeb9 gnu: cimg: Update to 3.6.5.
* gnu/packages/image-processing.scm (cimg): Update to 3.6.5.

Change-Id: Ic1672327a3c53e08d685d54ee0d65d810bb51e93
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-19 18:04:10 +01:00
Andreas Enge 5ddff69615 gnu: sage: Update to 10.7.
* gnu/packages/patches/sage-safeguard-sage-getargspec-cython.patch:
Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.
* gnu/packages/sagemath.scm (sage): Update to 10.7.
[origin]: Remove patch.

Change-Id: I64093e73369bd378b2553df589f0e2c6e5097aef
2025-12-19 16:44:05 +01:00
Andreas Enge 0297f8813f gnu: flint: Update to 3.4.0 and add flint-3.3.
* gnu/packages/algebra.scm (flint): Update to 3.4.0.
(flint-3.3): New variable.
(python-flint)[inputs]: Replace flint by flint-3.3.
* gnu/packages/sagemath.scm (sage)[inputs]: Replace flint by flint-3.3.

Change-Id: I4a9e0a4bf70be54f165183959ef1cd4652387c27
2025-12-19 15:44:37 +01:00
Cayetano Santos 616e77b45a gnu: emacs-cider: Update to 1.20.0.
* gnu/packages/emacs-xyz.scm (emacs-cider): Update to 1.20.0.

Change-Id: Id6df0fab931a10536f28a2ca0c16e176051e4bf6
2025-12-19 15:14:44 +01:00
Cayetano Santos 5667601c14 gnu: emacs-ellama: Update to 1.9.0.
* gnu/packages/emacs-xyz.scm (emacs-ellama): Update to 1.9.0.

Change-Id: I552ad8dcb7108358e290f46c59ce3d3f16c810ac
2025-12-19 15:14:44 +01:00
Cayetano Santos d5f271ebf8 gnu: emacs-corfu: Update to 2.6.
* gnu/packages/emacs-xyz.scm (emacs-corfu): Update to 2.6.

Change-Id: I0a684315efcf105747f11e6f790c95279bc289a3
2025-12-19 15:14:44 +01:00
Sharlatan Hellseher 67a113614c gnu: ansible: Switch to pyproject, disable tests.
* gnu/packages/admin.scm (ansible):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Change-Id: I7a80f916889db0015a3e8dc9802d505a197bae32
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher ed5ddd6b48 gnu: speedtest-cli: Switch to pyproject.
* gnu/packages/networking.scm (speedtest-cli):
[build-system]: Switch to pyproject-build-system..
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: Ib90f161371d982462fabd292dfc07cdc9e84a6e8
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher a8d1edfc33 gnu: gp-saml-gui: Update to 0.0.0-2.21cce40.
* gnu/packages/vpn.scm (gp-saml-gui): Update to
21cce40334791a533c7a263fe367f0ddc072d8fb commit.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: I1d90dba77e7634599b26b63015b402aa24b909ff
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher d51ffa1829 gnu: gitlint: Update to 0.19.1.
* gnu/packages/version-control.scm (gitlint): Update to 0.19.1.
[build-system]: Switch to pyproejct-build-system.
[arguments] <tests?>: No tests in PyPI, tests might be broken in Git.
[native-inputs]: Add python-hatch-vcs and python-hatchling.

Change-Id: Icf4c590ed7665cf72ce430d59b156907ddbe672e
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher 8ad99d6eba gnu: cpass: Switch to pyproject.
* gnu/packages/password-utils.scm (cpass): Update to 0.9.4.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: Id3b9a7aa079c6804bcc171e4e6b95b82966b42a7
2025-12-19 14:13:22 +00:00
Andreas Enge 03c688575f gnu: flint: Update to 3.3.1.
* gnu/packages/algebra.scm (flint): Update to 3.3.1.

Change-Id: If8ca230f1571e64283ee7fd85bc8a0389f698e3f
2025-12-19 14:30:44 +01:00
Andreas Enge 0c9b2cf0d0 gnu: singular: Update to 4.4.1p5.
* gnu/packages/algebra.scm (singular): Update to 4.4.1p5.

Change-Id: I3d3b3969fa2f55abf3380840cb24933c1f1c2627
2025-12-19 13:53:26 +01:00
Nguyễn Gia Phong 7ec5abb669 gnu: rss2email: Switch to pyproject-build-system.
* gnu/packages/mail.scm (rss2email):
  [build-system]: Change to pyproject-build-system.
  [arguments] <build-backend>: Use "poetry.core".
  <test-backend, test-flags>: Use "unittest".
  <phases>: Add 'fix-tests; use default 'check.
  [native-inputs]: Add python-poetry-core.

Change-Id: I0c6d8cece6894b93622ccd429635f2934a98d156
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 11:15:58 +00:00
Andreas Enge 2d59c06b08 gnu: flint: Update to 3.2.2 and enable parallel tests.
Parallel tests appear to work now on aarch64-linux.

* gnu/packages/algebra.scm (flint): Update to 3.2.2.
[inputs]: Remove unused input ntl.
[arguments]<#:parallel-tests?>: Remove the #f value.

Change-Id: I24d9d1235646a08ccc16484fb285d39c22e2e4a1
2025-12-19 12:03:36 +01:00
Nguyễn Gia Phong d5093ed37b gnu: xkeysnail: Switch to pyproject-build-system.
* gnu/packages/xdisorg.scm (xkeysnail):
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.

Change-Id: Ib0e0a8accda1ed7d1f342877544529854b825248
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 10:50:54 +00:00
Nguyễn Gia Phong 76a918219e gnu: xkblayout: Switch to pyproject-build-system.
* gnu/packages/xdisorg.scm (xkblayout):
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.
  [arguments]: Explicitly disable nonexistent tests.

Change-Id: I2fad5c5ba8d4f2f912657db592dde1c43556ea7f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 10:50:54 +00:00
Nguyễn Gia Phong 271592e456 gnu: arandr: Switch to pyproject-build-system.
* gnu/packages/xdisorg.scm (arandr):
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.

Change-Id: Icb5ab460d592b4f9a2ebad1068aa0895b8ee6575
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 10:50:54 +00:00
Sharlatan Hellseher 32d69c2943 gnu: awslogs: Update to 0.15.0.
* gnu/packages/web.scm (awslogs): Update to 0.15.0.
[build-system]: Switch to pyproject-build-system.
[arguments]: Drop all.
[native-inputs]: Add python-pytest and python-setuptools.
[description]: Mention availability of the same functionality in
official AWS CLI tool.

Change-Id: I850ac706c40d731212143c608fec44afe0b0d300
2025-12-19 10:50:54 +00:00
Sharlatan Hellseher 2e7ff3c604 gnu: kernel-hardening-checker: Update to 0.6.17.1.
* gnu/packages/linux.scm (kernel-hardening-checker): Update to 0.6.17.1.
[native-inputs]: Add python-setuptools.

Change-Id: I27057caed99335c264c41f9969206ecef1f22395
2025-12-19 10:50:54 +00:00
Sharlatan Hellseher 0a6675db70 gnu: getmail6: Update to 6.19.10.
* gnu/packages/mail.scm (getmail6): Update to 6.19.10.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ic5065dad712115a22175e53a61b84b70d80334c0
2025-12-19 10:50:54 +00:00
Sergey Trofimov 6b1bb5fbcc gnu: xcur2png: Fix build with gcc@14.
* gnu/packages/xorg.scm (xcur2png)
[arguments]<#:configure-flags>: Add CFLAGS.

Change-Id: I2b8ecdaf527400d0a52b4bdcf3fd5c391bd8822e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-19 11:04:51 +01:00
Sharlatan Hellseher 6997024ea9 gnu: enjarify: Improve package, fix tests.
* gnu/packages/android.scm (enjarify): Use G-Expressions, improve
style, and fix tests.
[source]: Use direct URL string instead of [home-page]
[build-system]: Switch to pyproject-build-system.
[arguments]: Remove trailing #t from lambdas.
<phases>: Merge 'fixup-expected-test-results with
'drop-java-xss-argument into 'fix-tests phase and fix module path in
"runtests.py"; rework 'install-enjarify-wrapper phase.
[native-inputs]: Add python-setuptools.
[home-page]: Move above [synopsis]
[description]: Start from a new line, mention original source of the
project.

Fixes: guix/guix#4954
Reported-by: nomike <nomike@nomike.com>
Change-Id: I22e3e613ca5d0352fdd5d6d397183a4cde1a067f
2025-12-19 09:33:17 +00:00
Murilo b104a808ca gnu: hyprland: Update to 0.52.2.
* gnu/packages/wm.scm (hyprland): Update to 0.52.2.

Change-Id: I1079af936ede402e93484e2801a1f89da0c73cb0
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-12-18 22:09:08 -05:00
Murilo ea4f8318dc gnu: hyprlang: Update to 0.6.7.
* gnu/packages/cpp.scm (hyprlang): Update to 0.6.7.

Change-Id: I098f2bb3e1b8ac815ccaae53015dc8ed1e1e16ef
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-12-18 22:09:06 -05:00
John Kehayias 972f8ba760 gnu: xorg-server: Update to 21.1.21.
* gnu/packages/xorg.scm (xorg-server): Update to 21.1.21.

Change-Id: Ib2024a8de8a17d8f8607691a8dca9b4ddb510298
2025-12-18 22:06:59 -05:00
John Kehayias 2455e97436 gnu: xorg-server-xwayland: Update to 24.1.9 [security-fixes].
Fixes CVE-2025-62229, CVE-2025-62230, and CVE-2025-62231.

See <https://lists.x.org/archives/xorg-announce/2025-October/003635.html> for
more information.

* gnu/packages/xorg.scm (xorg-server-xwayland): Update to 24.1.9.

Change-Id: I81533e02fa5629b26b268f4a2f4f5c8a47680c37
2025-12-18 22:06:58 -05:00
John Kehayias 7db9c56b77 gnu: xorg-server: Update to 21.1.20 [security-fixes].
A previous version, 21.1.19, fixed CVE-2025-62229, CVE-2025-62230, and
CVE-2025-62231.

See <https://lists.x.org/archives/xorg-announce/2025-October/003635.html> for
more information.

* gnu/packages/xorg.scm (xorg-server): Update to 21.1.20.

Change-Id: I6a2a50898b1537eebc97f0a470af987aae712acc
2025-12-18 22:06:57 -05:00
John Kehayias b26b379a28 gnu: glad: Use xvfb-run-for-tests.
This prevents xorg-server from having over 1,000 dependents.

* gnu/packages/gl.scm (glad)[native-inputs]: Use xvfb-run-for-tests instead of
xvfb-run.

Change-Id: I6b2fea1ba92395eef08fab77e5225b2abd95a954
2025-12-18 22:06:54 -05:00
Sharlatan Hellseher fbef54aaf8 gnu: python-zopfli: Update to 0.4.0.
* gnu/packages/python-compression.scm (python-zopfli): Update to 0.4.0.
[source]: Switch to git-fetch.
[arguments] <phases>: Use default 'check.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Remove unzip; add python-setuptools.

Change-Id: Icff078670dd822ed7a8e6490f0c2337f93c39a9d
2025-12-18 23:35:03 +00:00
Hugo Buddelmeijer d128cca4ff gnu: python-abjad: Fix build.
* gnu/packages/music.scm (python-abjad): Fix build.
[arguments]<#:phases>: Add 'fix-docstring phase.

Change-Id: Ic1d36183d47d6a2d65a2f3be25596802eb48ea03
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:27:02 +00:00
Hugo Buddelmeijer 6249485f39 gnu: python-roman: Update to 5.2.
* gnu/packages/python-xyz.scm (python-roman): Update to 5.2.
[source]: Switch to git-fetch for tests.
[build-system]: Switch to python-pyproject.
[arguments]<#:test-backend>: Switch to unittest.
[native-inputs]: Add python-setuptools.
[license]: Switch to ZPL 2.1.

Change-Id: I0edd6ceeb26561e512db1da5660a8ebdd8de64ec
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:26:57 +00:00
Sergey Trofimov e6ca4b6096 gnu: stapler: Switch to pyproject.
* gnu/packages/pdf.scm (stapler): Switch to pyproject.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>{fix-more-itertools-version-requirement}: Adjust.
<#:build-backend>: Use poetry.core.masonry.api.
<#:test-flags>: Specify test files.
[native-inputs]: Add python-poetry-core, python-pytest, python-setuptools.

Change-Id: Ic1e0811f97b17dcdc1b639f13c6f8e750bfc20b0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:22:44 +00:00
Sharlatan Hellseher 39a57da774 gnu: yq: Update to 4.50.1.
* gnu/packages/textutils.scm (yq): Update to 4.50.1.
[native-inputs]: Add go-github-com-hashicorp-hcl-v2 and go-github-com-zclconf-go-cty.

Change-Id: Ife47f331192f387d5821e1389f619cf539b9d6f2
2025-12-18 23:19:27 +00:00
Sören Tempel c9b0157cd9 gnu: Add zk.
* gnu/packages/task-management.scm (zk): New variable.

Change-Id: I4d9914c30b8df52cdcf902e7ab2db60381de5946
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel 40a0d7327a gnu: Add go-github-com-alecthomas-kong-for-zk.
* gnu/packages/golang-xyz.scm (go-github-com-alecthomas-kong-for-zk): New variable.
Change-Id: I1a3fc2da10688579f2a8b2daa605447b07e68861
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel 266fb873b9 gnu: Add go-github-com-fatih-color-for-zk.
* gnu/packages/golang-xyz.scm (go-github-com-fatih-color-for-zk): New variable.
Change-Id: I92dcc124f1e2696534f49fca2da5d3c925f62a92
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel 81e1d95904 gnu: Add go-github-com-zk-org-pretty.
* gnu/packages/golang-xyz.scm (go-github-com-zk-org-pretty): New variable.
Change-Id: I394de87977bfa8e5b90c719fda66d5417cf549bf
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel 90a917605b gnu: Add go-github-com-yuin-goldmark-meta.
* gnu/packages/golang-xyz.scm (go-github-com-yuin-goldmark-meta): New variable.
Change-Id: I8497bce5a679de7605ddf22ddb18305aa011ed9d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel b0bbd770f9 gnu: Add go-gopkg-in-djherbis-times-v1.
* gnu/packages/golang-xyz.scm (go-gopkg-in-djherbis-times-v1): New variable.
Change-Id: I32bcbb278de19a07ffebac603ec27b98c70f767b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel c749fd2d10 gnu: Add go-github-com-tliron-glsp.
* gnu/packages/golang-xyz.scm (go-github-com-tliron-glsp): New variable.
Change-Id: I037cb34d6a9ef70c1a9593eac40c634031df34c0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel c6ec96a94d gnu: Add go-github-com-zchee-color.
* gnu/packages/golang-xyz.scm (go-github-com-zchee-color): New variable.
Change-Id: I5c715b93d3aff3c8fa0624d5b9e5238d603ec378
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel dbc557eb05 gnu: Add go-github-com-tliron-kutil.
* gnu/packages/golang-xyz.scm (go-github-com-tliron-kutil): New variable.
Change-Id: Ib92479ecbce5e2b820d33fb599e94e64b6f8943e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel 28b519e8a9 gnu: Add go-github-com-tj-go-naturaldate.
* gnu/packages/golang-xyz.scm (go-github-com-tj-go-naturaldate): New variable.
Change-Id: I78741cd34c41a6b140c51aa41991383574151195
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel 99dc1a2645 gnu: Add go-github-com-rvflash-elapsed.
* gnu/packages/golang-xyz.scm (go-github-com-rvflash-elapsed): New variable.
Change-Id: Ic45586fa338317410819f1d67042935b72cd95e0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel 063cff5c90 gnu: Add go-github-com-mvdan-xurls.
* gnu/packages/golang-web.scm (go-github-com-mvdan-xurls): New variable.
Change-Id: I45619fea0af4408d1ac854583e297da00b7d4a60
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel 3dac82e790 gnu: Add go-github-com-gosimple-slug.
* gnu/packages/golang-web.scm (go-github-com-gosimple-slug): New variable.
Change-Id: I5b9d85c32b2711ad857973030e5b48558de4d5d2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel d5c3f170b0 gnu: Add go-github-com-gosimple-unidecode.
* gnu/packages/golang-xyz.scm (go-github-com-gosimple-unidecode): New variable.
Change-Id: I0ee66d904b611b5f1926d83ec9e5c1c61b47904a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel e9c2fb94ad gnu: Add go-github-com-aymerick-raymond.
* gnu/packages/golang-web.scm (go-github-com-aymerick-raymond): New variable.
Change-Id: I2304c52f824878387994a1e3fe1a9a9c73f642c2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:16 +00:00
dan a9e412fc9d gnu: telegram-desktop: Update to 6.3.6.
* gnu/packages/telegram.scm (%telegram-version): Update to 6.3.6.
(cmake-helpers-for-telegram-desktop, codegen-for-telegram-desktop)
(lib-base-for-telegram-desktop, lib-rpl-for-telegram-desktop)
(lib-spellcheck-for-telegram-desktop, lib-storage-for-telegram-desktop)
(lib-ui-for-telegram-desktop, lib-webview-for-telegram-desktop)
(tgcalls-for-telegram-desktop): Update to revision used by v6.3.0.
(webrtc-for-telegram-desktop): Update to latest commit.
[inputs]: Use abseil-cpp instead of abseil-cpp-cxxstd17.
(telegram-desktop): Update to 6.3.0.
[inputs]: Use xdg-desktop-portal-next instead of xdg-desktop-portal.

Change-Id: I306f3a95c9c924165ff198b98261a9e60d8c0d51
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4280
2025-12-19 00:05:44 +01:00
dan e498671958 gnu: Add xdg-desktop-portal-next.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-next): New variable.
*
gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I83c7d1c174a258761988b4d234b6fc4a9228e36f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-19 00:05:44 +01:00
Yelninei 35fd588af0 gnu: hurd: Fix librump detection.
* gnu/packages/hurd.scm (hurd)[#:configure-flags]: Add -Wl,--as-needed to
LDFLAGS
[#:phases]: Remove 'fixup-cross-configure phase.

Change-Id: I698461ede24c26f6a0934106408ca802ed3fc455
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes: guix/guix#1511
Merges: #1538
2025-12-19 00:05:43 +01:00
Yelninei 74366285f0 gnu: hurd: Prevent zombie processes.
Fixes: shepherd/shepherd#93

* gnu/packages/patches/hurd-proc-zombies.patch: new patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (hurd): Add patch.

Change-Id: Iddab14fcd487817cde7aa2f7fd047e943d9337d1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4822
2025-12-19 00:05:43 +01:00
Ludovic Courtès 3e2bd2e30b services: nscd: Cause PID 1 to drop nscd database mappings on shutdown.
Partly fixes guix/guix#4269.

Fixes a bug whereby shepherd (PID 1) could retain memory mappings for
/var/run/nscd/dbXXX, which are created by glibc’s NSS from database file
descriptors sent by nscd.  Those mappings could then prevent
‘root-file-system’ from re-mounting the root file system as read-write.
This change causes PID 1 to drop these mappings.

PID 1 typically calls libc database functions such as ‘getgr’ when dealing
with AF_UNIX endpoints for socket-activated services, to look up the socket’s
owner and group.  This is where the bug would manifest.

The regression may have been introduced by
85ac164c41, which caused nscd to handle the
password and group databases.

* gnu/services/base.scm (nscd-shepherd-service): In ‘stop’ procedure, call
‘getpw’, ‘getgr’, and ‘getaddrinfo’.
* gnu/tests/base.scm (run-root-unmount-test) <"open libc NSS database">: New
test.
(%test-root-unmount): Add #:imported-modules.

Change-Id: I197cc8c82165c631f857415898137412ce9bd439
Reported-by: Rutherther <rutherther@ditigal.xyz>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4828
2025-12-19 00:05:43 +01:00
Tomas Volf 55bf53fe92 monad-repl: Add "graft?" command.
Grafts are not always required when just exploring in the REPL, and they do
take time, so this commit adds easy way to disable them.

* guix/monad-repl.scm (build-graft): New meta command.
* doc/guix.texi (Using Guix Interactively): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-19 00:05:43 +01:00
Ludovic Courtès 7b9c30de1f environment: Do not attempt to map GID 0 when invoked as root.
* guix/scripts/environment.scm (launch-environment/container): Set ‘gid’ to
1000 when ‘getgid’ returns zero.

Fixes: guix/guix#4234
Reported-by: Maxim Cournoyer <maxim@guixotic.coop>
Change-Id: I781f2939dfd3cda23373d2fa03e288995bce9eb9
2025-12-19 00:05:43 +01:00
Giacomo Leidi 0c60cfcd37 gnu: ssh-to-pgp: Update to 1.1.6.
* gnu/packages/golang-crypto.scm (ssh-to-pgp): Update to 1.1.6.

Change-Id: I969517b8289c30ed651dc94901f1b33a5abb3a4a
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 22:39:56 +00:00
Nguyễn Gia Phong 1a19afcd97 gnu: quickswitch-i3: Update to 2.8.0.
* gnu/packages/wm.scm (quickswitch-i3): Update to 2.8.0.
  [home-page]: Update to new upstream.
  [source]: Update URI.  Remove patch.
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.
  [arguments]: Update to modern style.
* gnu/packages/patches/quickswitch-fix-dmenu-check.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.

Change-Id: I9d5f25498b464356590011d2ce49a43e515a8cfb
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 22:29:42 +00:00
Philippe SWARTVAGHER c1aa87625f gnu: sqlitestudio: Update to 3.4.18.
* gnu/packages/databases.scm (sqlitestudio): Update to 3.4.18.

Change-Id: I30046ba50af96d36aae094d41622747ddbe4e838
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 22:26:18 +00:00
Sharlatan Hellseher fdb8bdc689 gnu: python-jupytext: Move to jupyter.
* gnu/packages/python-xyz.scm (python-jupytext): Move from here ...
* gnu/packages/jupyter.scm: ... to here.

Change-Id: I02697361195c0bada08122cecb2dfb16598595cd
2025-12-18 22:05:03 +00:00
Ghislain Vaillant 011e027da5 gnu: python-jupytext: Update to 1.18.1.
* gnu/packages/python-xyz.scm (python-jupytext): Update to 1.18.1.
  [arguments]<#:tests-flags>: Update filters.
  [propagated-inputs]: Add python-packaging and python-pyyaml.
  [native-inputs]: Add python-hatchling, python-jupyter-client and
  python-pytest-asyncio. Remove git-minimal, python-gitpython,
  python-ipython-genutils python-pyyaml, python-toml, python-setuptools
  and python-wheel.
  [home-page]: Update URL.

Change-Id: I8096565639b8da3372465c72554af28ade20eead
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:59:02 +00:00
Hugo Buddelmeijer 58805ac414 gnu: python-pyld: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-pyld): Switch to pyproject-build-system.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable tests for now.
[propagated-inputs]: Add python-aiohttp and python-requests.
[native-inputs]: Add python-setuptools.

Change-Id: I072f5210a1bbb0e9c3c38747b682cc3fb9ce575c
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:23 +00:00
Hugo Buddelmeijer 902de8475b gnu: python-extract-dtb: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-extract-dtb): Switch to
pyproject-build-system.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Set to false, no tests.
[native-inputs]: Add python-setuptools.

Change-Id: I5ef5ecee569c66415e2354a2104f764e3bcae886
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:23 +00:00
Hugo Buddelmeijer 59d5a2daa7 gnu: python-poyo: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-poyo): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I8dd95bb1f84b4ff98e640d730fd4ec6a4270c78d
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:22 +00:00
Hugo Buddelmeijer cab9246395 gnu: python-argparse-addons: Update to 0.12.0.
* gnu/packages/python-xyz.scm (python-argparse-addons): Update to 0.12.0.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I779fc2731c7dd3e184676823945fcceb9dabadf1
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:20 +00:00
Sharlatan Hellseher 7ee70d0906 gnu: img2pdf: Switch to pyproject, disable tests.
* gnu/packages/pdf.scm (img2pdf):
[arguments] <tests?>: Disable for now.
[propagated-inputs]: Move from here ...
[inputs]: ... to here.
[native-inputs]: Add python-setuptools.

Change-Id: I4dbf9f469bafd020a20e3a180b6ebc456981583e
2025-12-18 21:43:09 +00:00
Grigory Shepelev 3516819a95 gnu: Add emacs-magit-delta.
* gnu/packages/emacs-xyz.scm (emacs-magit-delta): New variable.

Change-Id: If21f353723e72ef86ba9e847efaf6af2f6d9d686
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 20:35:45 +01:00
Sharlatan Hellseher b7dc8aea65 gnu: udiskie: Improve package, fix build.
* gnu/packages/freedesktop.scm (udiskie): Use G-Expressions.
[source]: Switch to git-fetch providing tests.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-backend, test-flags>: Use custom.
<phases>: Add 'fix-entry-points; 'wrap-gi-typelib move after wrap.
[inputs]: Add python-docopt, python-keyutils, python-pygobject,
python-pyxdg, and python-pyyaml.
[propagated-inputs]: Remove python-docopt, python-pygobject,
python-keyutils, python-pyxdg, and python-pyyaml.
[native-inputs]: Add python-setuptools.

Fixes: guix/guix#4920
Change-Id: Ie29f7bfdef7465d58799cb189483ccc264681fbe
2025-12-18 18:59:16 +00:00
Ghislain Vaillant 71c4428943 gnu: emacs-jupyter: Update to 1.0-3.de89cbe.
* gnu/packages/emacs-xyz.scm (emacs-jupyter): Update to 1.0-3.de89cbe.
[source]: Update git repository URL.
[home-page]: Update.

Change-Id: I11beaa374dbdd298607e6573f7c61f3f88488306
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 19:51:52 +01:00
moksh bfd56b06cb gnu: chafa: Update to 1.18.0.
* gnu/packages/image-viewers.scm (chafa): Update to 1.18.0.

Change-Id: I744618bbcb563f8225bb3a633fd267371ae7d1dc
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 19:38:48 +01:00
Sergey Trofimov 55b4d55b69 gnu: python-clickgen: Update to 2.2.5.
* gnu/packages/python-xyz.scm (python-clickgen): Update to 2.2.5.
[source]: Fetch from git.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Ignore broken test.
[inputs]: Remove libx11, libpng, and libxcursor.
[propagated-inputs]: Add python-pyyaml.
[native-inputs]: Remove python-wheel; add python-pytest, and
python-setuptools.

Change-Id: Icb0ba11d9b542f38a02c7ab9262d146cbff329ef
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 17:26:36 +00:00
Nguyễn Gia Phong be8bbdd271 teams: Add entry for Nguyễn Gia Phong
* etc/teams.scm ("Nguyễn Gia Phong"): New member.

Change-Id: I3492513cb136e500f9798e31bd938feecaaddb48
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 17:16:46 +00:00
Nguyễn Gia Phong 625ed9311c Update Nguyễn Gia Phong's new email address.
* .mailmap: New entry.

Change-Id: I839ba6c7be463c5b59c7e68247ae5e46d2ceeeaf
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 17:16:43 +00:00
jgart 2d94d3f9de gnu: Add emacs-claude-code.
* gnu/packages/emacs-xyz.scm (emacs-claude-code): New variable.

Fixes: guix/guix#4021

Change-Id: I2a6072bedf428b1ac606c3f2486e59057f526439
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 11:53:21 +01:00
Oleg Pykhalov 44a85eb6bd gnu: niri: Update to 25.11.
* gnu/packages/wm.scm (niri): Update to 25.11.
* gnu/packages/rust-crates.scm: Update crates accordingly.

Change-Id: Ifee78879b700516ca4872ca800606c00fa1414d0
2025-12-18 13:34:44 +03:00
Maxim Cournoyer a90e2453d5 gnu: x2goclient: Fix build.
* gnu/packages/patches/x2goclient-fix-makefile.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/nx.scm (x2goclient): Apply it.

Fixes: #4586
Change-Id: Ib76ac5acd99cbde806f961b4e8107eb37f755304
2025-12-18 15:59:19 +09:00
jgart d7dac3985c gnu: Add hare-lsp.
* gnu/packages/hare-apps.scm (hare-lsp): New variable.

Change-Id: Ic66fbcbc74dc241fae819ca0a3fd61b6c3c7fc15
2025-12-17 20:59:49 -06:00
jgart fe9dfb6abb gnu: trealla: Update to 2.87.5.
* gnu/packages/prolog.scm (trealla): Update to 2.87.5.

Change-Id: I6a331959eca8077774b932a0c3c5a3c0324b0d76
2025-12-17 18:16:34 -06:00
Sharlatan Hellseher 9da5b5196a gnu: python-pulp: Fix build.
* gnu/packages/python-xyz.scm (python-pulp):
[build-system]: Switch to pyproejct-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Change-Id: I4488a3a7d7199f722df5ba8b319dfbd19612972c
2025-12-18 00:06:47 +00:00
Sharlatan Hellseher 48983fab8d gnu: python-mappy: Fix indentation.
* gnu/packages/bioinformatics.scm (python-mappy): Fix indentation.

Change-Id: Ib6fbe26b7ba54e559093699b6b31e9a27b60ea96
2025-12-17 23:32:23 +00:00
Hugo Buddelmeijer 14ab247ece gnu: python-mappy: Switch to pyproject.
* gnu/packages/bioinformatics.scm (python-mappy):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#test-backend, #test-flags>: Replace check phase with
example (no tests).
[native-inputs]: Add python-setuptools.

Change-Id: I9561de7e0ee94dbd1134c23c608d262169407456
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-17 23:30:57 +00:00
Hugo Buddelmeijer 2ede88e3bc gnu: python-ghp-import: Update to 2.1.0.
* gnu/packages/version-control.scm (python-ghp-import): Update to 2.1.0.
[source]: Update URL, permanent redirects.
[build-system]: Switch to pyproject.
[arguments]: Switch to gexps.
<#:tests?>: Disables tests, do not exist in PyPI or Git.
[native-inputs]: Add python-setuptools.
[home-page]: Update URL.

Change-Id: Ie0fa5bfe05919598b669c5048f671a788d000662
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-17 23:20:54 +00:00
Sharlatan Hellseher a52bd8449b gnu: python-imaplib2: Switch to pyproject.
* gnu/packages/mail.scm (python-imaplib2):
[source]: Switch to git-fetch providing tests.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I31fc960675ff97e9a769b1c1a5e37836fe9f0162
2025-12-17 23:16:56 +00:00
Sharlatan Hellseher 61f18e6d0c gnu: pulsemixer: Improve package.
* gnu/packages/pulseaudio.scm (pulsemixer):
[build-system]: Switch to pyproject-build-system.
[arguments]: Switch to search-input-file, drop trailing #t from lambda.
[native-inputs]: Add python-setuptools.

Change-Id: Ia0921a46be451b522bf5ad39de366b5ba2e949a5
2025-12-17 23:16:56 +00:00
Sharlatan Hellseher e830350288 gnu: autorandr: Switch to pyproject.
* gnu/packages/xdisorg.scm (autorandr):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: I62068ba970a081b58e69154d62e8fe99eebb8656
2025-12-17 23:16:55 +00:00
Vagrant Cascadian 81c8d1c609 gnu: python-py-ubjson: Switch to pyproject-build-system and enable tests.
Fixes build failure with missing tests.

* gnu/packages/web.scm (python-py-ubjson): Use pyproject-build-system.
[native-inputs]: Add python-setuptools, python-coverage and lcov.  [source]:
Use git-fetch.  [phases]: Add 'avoid-git-clean. Replace 'check.
2025-12-17 14:38:36 -08:00
John Kehayias c203995bf5 gnu: python-google-auth-oauthlib: Fix tests.
* gnu/packages/python-web.scm (python-google-auth-oauthlib)[build-system]:
Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, python-mock, and python-setuptools.

Change-Id: Ic846efd5298d666bd295492309f18c271aeb6997
2025-12-17 15:19:15 -05:00
jgart a3a14c5693 gnu: linenoise: Update to 1.0-3.e26268d.
* gnu/packages/shells.scm (linenoise): Update to 1.0-3.e26268d.

Change-Id: I0e547d5ffcdcea963ba5858a38f7af3ae16d1d94
2025-12-17 12:34:53 -06:00
Cayetano Santos 40b59d5f47 gnu: python-surf: Disable tests.
Tests require slaclab/ruckus, which needs ghdl vhdl compiler.
Package update requires rogue, not in the repos.

* gnu/packages/electronics.scm (python-surf)[native-inputs]: Remove python-wheel.

Change-Id: I634cc5d5c8091665a1751272bd83e17169ffe1af
2025-12-17 18:49:50 +01:00
Cayetano Santos c57e1e118d gnu: fd: Fix bash completions path.
* gnu/packages/rust-apps.scm (fd)[arguments]: Fix ’install-extras #:phase.

Change-Id: I84679a71803ee7dce4a1c4996d8a4668b7d1b109
2025-12-17 18:28:23 +01:00
Cayetano Santos b770d4b370 gnu: ausweisapp: Update to 2.4.0.
* gnu/packages/security-token.scm (ausweisapp)[source]: Switch to
git-fetch.
[native-inputs]: Add python-wrapper.
[arguments]: Use G-Expressions

Change-Id: I78984b6263292c1c8896f30292fc06914f753c62
2025-12-17 18:15:27 +01:00
Cayetano Santos fd08e6589a gnu: pkcs11-helper: Update to 1.31.0.
* gnu/packages/security-token.scm (pkcs11-helper): Update to 1.31.0.

Change-Id: I4777482cade36990b5511cbb876d33d3a45fa3ef
2025-12-17 18:08:20 +01:00
jgart 2a59e5d392 teams: python: Add manifest.
* etc/teams/python/python-manifest.scm: New file.

Change-Id: I1443ec2f2e5584a47dbe580caa682093e5fa1fe3
Signed-off-by: jgart <jgart@dismail.de>
2025-12-17 11:02:53 -06:00
Andreas Enge facb375f88 gnu: ipfs-configuration: Update deprecated default value.
* gnu/services/networking.scm (<ipfs-configuration>): Replace go-ipfs
by kubo.

Change-Id: Iba127e5e06e00dd7bb1ff5901fdfa9b2ff075e9d
2025-12-17 15:48:26 +01:00
Andreas Enge f54a032cec Revert "gnu: guile: Add 3.0.11."
This reverts commit 2b3782eb6e.

Fixes: guix/guix#4909
2025-12-17 14:36:25 +01:00
Cayetano Santos 58e3af17e2 gnu: pwsafe: Update to 3.70.1.
* gnu/packages/password-utils.scm (pwsafe): Update to 3.70.1.
[native-inputs]: Add python-wrapper.

Change-Id: I00261a9254407b58fa6902d8322c06e7dd61c7a9
2025-12-17 13:36:28 +01:00
Cayetano Santos ec689e843a gnu: xkcdpass: Update to 1.20.0.
* gnu/packages/password-utils.scm (xkcdpass): Update to 1.20.0.

Change-Id: Ib29c71cc9632db5239519a296d15ccd5c7b7251a
2025-12-17 13:36:28 +01:00
Cayetano Santos 2c90e82e82 gnu: pass-git-helper: Update to 4.1.0.
* gnu/packages/password-utils.scm (pass-git-helper): Update to 4.1.0.

Change-Id: Iee5bd049e0ebda5e8ec3ec929f18d8c734459a12
2025-12-17 13:36:27 +01:00
Cayetano Santos 0b51ee66b7 gnu: ccid: Update to 1.7.0.
* gnu/packages/security-token.scm (ccid): Update to 1.7.0.
[source]: Switch to git-fetch.
[arguments]<#:phases>: Fix ’patch-Makefile.
[inputs]: Add zlib.
[native-inputs]: Add autoconf, autoconf-archive, automake, flex, libtool,
python-wrapper, and which.

Change-Id: Id546490684e7b54ac4858ec9b89809c825c361fe
2025-12-17 13:36:27 +01:00
Cayetano Santos ff9db3d56f gnu: qdigidoc: Update to 4.9.1.
* gnu/packages/security-token.scm (qdigidoc): Update to 4.9.1.

Change-Id: I02cb65673a6bc68ca64b55c960c1c973113ddcc8
2025-12-17 13:36:27 +01:00
Cayetano Santos d87a646b0a gnu: cracklib: Update to 2.10.3.
* gnu/packages/password-utils.scm (cracklib): Update to 2.10.3.
[source]: Switch to git-fetch.
[arguments]<#:phases>: Remove ’install-dict and add ’chdir.
[native-inputs]: Add autoconf, automake, libtool and intltool.

Change-Id: I1cc877f5d62b594bf7ead4899497420c2d930cb5
2025-12-17 13:36:27 +01:00
Cayetano Santos 4bd47431d6 gnu: zxcvbn-c: Update to 2.6.
* gnu/packages/password-utils.scm (zxcvbn-c): Update to 2.6.

Change-Id: I05f83ed4ddd3361652d55cb3c1f678c1da22842f
2025-12-17 13:36:27 +01:00
Hugo Buddelmeijer 89710d99fa gnu: python-pychm: Switch to pyproject-build-system.
* gnu/packages/ebook.scm (python-pychm): Switch to pyproject-build-system.
[source]: Switch to git-fetch for tests.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I35bdfc15cdff6c86accad0722653071300c40563
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 812d9b4717 gnu: python-fb-re2: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-fb-re2): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I390e137e77090cb157df4ad9b661ef63b2942ade
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 82aa5d47fb gnu: python-strawc: Switch to pyproject-build-system.
* gnu/packages/bioinformatics.scm (python-strawc): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I49f697f9a968a141e5009ea8f860f0662500e0fd
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 6e5999d70b gnu: python-sinfo: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-sinfo): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ibe678393b5e531928ba88d4569349cdbbcaf0a68
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 146da6cf12 gnu: python-pypairix: Update to 0.3.9.
* gnu/packages/bioinformatics.scm (python-pypairix): Update to 0.3.9.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I0fbe88438fcdcb304e12eac4156e94959e6db174
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 91a164d588 gnu: python-jsmin: Switch to pyproject-build-system.
* gnu/packages/python-web.scm (python-jsmin): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ica4fc8d47b84c38f1beb0a887ef207cf5b8379a7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 79767ce7aa gnu: python-numpy-groupies: Update to 0.11.3.
* gnu/packages/python-science.scm (python-numpy-groupies): Update to 0.11.3.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Add python-numpy.
[native-inputs]: Remove python-pytest-runner and python-numpy; add python-pandas,
python-setuptools, and python-setuptools-scm.

Change-Id: Iffe9007c357ac5f299a07cfb1d3fcd20da862c81
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer ec18fea38b gnu: python-msgpack-numpy: Switch to pyproject-build-system.
* gnu/packages/python-science.scm (python-msgpack-numpy): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend>: Select unittest.
[native-inputs]: Add python-setuptools.

Change-Id: I47958f2fe83411cefd91b664197a5b08e33205b4
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer fd5ccad45e gnu: python-intervaltree: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-intervaltree): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ie849ed1cfabacd9b2438b6e2bd883048d8032b5e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer 4d617d8c11 gnu: keepkey-agent: Switch to pyproject-build-system.
* gnu/packages/finance.scm (keepkey-agent): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable tests.
[native-inputs]: Add python-setuptools.

Change-Id: If83aa4cf17ebf3bac374e161d2fe2d7f4e92693e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer 7e42aacfc8 gnu: python-simple-rlp: Switch to pyproject-build-sytem.
* gnu/packages/python-xyz.scm (python-simple-rlp): Switch to
pyproject-build-sytem.
[build-system]: Switch to pyproject-build-sytem.
[native-inputs]: Add python-setuptools and python-pytest.

Change-Id: Ic4e9b717e6be6885b123834391a53b94c19e1132
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer 100454dbe8 gnu: python-databases: Update to 0.8.0.
* gnu/packages/databases.scm (python-databases): Update to 0.8.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Disable tests that require a database.
[native-inputs]: Add python-httpx, python-psycopg, python-pytest,
python-setuptools, and python-starlette.

Change-Id: I812d3e91fa0af6bee4df058d8563f5b0be28a3f2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer 45e1b3c776 gnu: python-mnemonic: Update to 0.21.
* gnu/packages/finance.scm (python-mnemonic): Update to 0.21.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-poetry-core and python-pytest.

Change-Id: I8eae1fa7b7a920ecefb4058837af624463453abe
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer 86ea7a4aae gnu: python-asyncpg: Fix build.
* gnu/packages/databases.scm (python-asyncpg): Fix build.
[arguments]<#:test-flags>: Disable failing test.
[propagated-inputs]: Remove python-async-timeout.
[native-inputs]: Remove python-wheel.

Change-Id: I7d989120dee90abd4bb40b700d2c98a8b1143e28
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer 0ec90936c9 gnu: python-ecpy: Update to 1.2.5.
* gnu/packages/python-crypto.scm (python-ecpy): Update to 1.2.5.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-future.
[native-inputs]: Add python-setuptools.
[home-page]: Update based on redirect.

Change-Id: I0e37b51fa157964aba0ab35a0b20974cfdcb205a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer ddb12f1668 gnu: python-yubikey-manager: Update to 5.8.0.
* gnu/packages/security-token.scm (python-yubikey-manager): Update to 5.8.0.

Change-Id: Icffa80eb3dbee030a6600b6f263c7c22466c14cb
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer 42d5d7f37a gnu: python-pyscard: Update to 2.3.1.
* gnu/packages/security-token.scm (python-pyscard): Update to 2.3.1.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools and python-pytest.
[properties]: Add release-monitoring-url.

Change-Id: Id4fdb34eda8c8efb1aa4ab4cba8ce9da30adc888
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher 0a2dfdb6d7 gnu: tetoolkit: Update to 2.2.3.
* gnu/packages/bioinformatics.scm (tetoolkit): Update to 2.2.3.
[arguments] <tests?>: No tests.
[native-inputs]: Remove python-wheel.

Change-Id: Idc5994a58115653447abb02d676b800d27ffe16e
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher e3453ff65d gnu: python-plaster-pastedeploy: Update to 1.0.1.
* gnu/packages/python-web.scm (python-plaster-pastedeploy): Update to 1.0.1.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I9516ee45816fe127fb6c0a76a8cd21929e802713
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher 3d59a38db3 gnu: python-zope-deprecation: Update to 6.0.
* gnu/packages/python-web.scm (python-zope-deprecation): Update to 6.0.
[source]: Fix PyPI archive name.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Change-Id: I55075d1b96271a9b987e2731d7b7cadd2c233efd
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher 608d01cf16 gnu: python-venusian: Update to 3.1.1.
* gnu/packages/python-web.scm (python-venusian): Update to 3.1.1.
[build-system]: Switch to pyproject-build-system.
[arguments] <phases>: Add 'fix-pytest-config.
[native-inputs]: Remove python-pytest-runner and python-pytest-cov; add
python-setuptools. Remove lables.

Change-Id: Iebabc49ab7e5d0bfabcd68d9d2ba62bcb69f48e6
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher 8164873c9e gnu: python-translationstring: Update to 1.4.
* gnu/packages/python-web.scm (python-translationstring): Update to 1.4.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Idd574b4de5247a09c52debb7ee130dcf6f323e72
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher 9bb46e6e02 gnu: python-pytest-dependency: Move to python-check.
* gnu/packages/check.scm (python-pytest-dependency): Move from here ...
* gnu/packages/python-check.scm: ... to here.

Change-Id: I135998cdbb0b321aa3c5e2a552d6374009e60fbe
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher d2c355ce8d gnu: python-pytest-dependency: Update to 0.6.0.
* gnu/packages/check.scm (python-pytest-dependency): Update to 0.6.0.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-pytest.
[native-inputs]: Add python-pytest-bootstrap and python-setuptools.

Change-Id: I1517f7097a14ba09f5ea1bc64b17e4ab223ea1e3
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher 7021a9632b gnu: python-plaster: Update to 1.1.2.
* gnu/packages/python-web.scm (python-plaster): Update to 1.1.2.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I208d7576794767d3cc004ef49ee9a9a53303aa8c
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher cf5795c4cb gnu: python-cligj: Switch to pypproject.
* gnu/packages/python-xyz.scm (python-cligj):
[build-system]: Switch to pypproject-build-system.
[native-inputs]: Remove python-pytest-cov; add python-pytest and
python-setuptools.

Change-Id: I9c1f1ab5f4689eb2443b6720bbe111e291bc3df6
2025-12-17 11:20:19 +01:00
Rutherther 461eaba666 gnu: clisp: Disable parallel tests.
Run the test suite sequentially. This prevents non-determinism
of clisp tests to some degree. It doesn't prevent it completely, though.

Thanks to Hugo Buddelmeijer <hugo@buddelmeijer.nl> who figured this out.

* gnu/packages/lisp.scm (clisp): Add phase to disable parallel tests.

Change-Id: I76e401151cb696e0f96c02771e111bd2cfb4d8f4
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Andreas Enge 1d3b78360c gnu: python-joblib: Limit parallelism of tests.
* gnu/packages/python-xyz.scm (python-joblib)[arguments]<#:test-flags>:
Use at most 8 cores.

Change-Id: I0086ecbe653801052dff08a7d675d304791dba84
2025-12-17 11:20:19 +01:00
Andreas Enge c91470ede9 gnu: python-ipywidgets: Use older setuptools.
* gnu/packages/python-xyz.scm (python-ipywidgets)[native-inputs]:
Add python-setuptools-67.

Change-Id: I88240840e890a631353e045e955d1ad578cc98a1
2025-12-17 11:20:19 +01:00
Noé Lopez 12bae54d87 gnu: clisp: Fix some tests.
Some tests were failing with locale errors. Either this fixes the issues, or I
was lucky with the nondetermistism.

* gnu/packages/lisp.scm (make-clisp-tests-locales): New function.
(clisp)[native-inputs]: Add required locales for tests.

Change-Id: I1205a34cc61520287aeb0f45190928c05cf3b493
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer a87435ee58 gnu: python-azure-common: Switch to pyproject-build-system.
* gnu/packages/python-web.scm (python-azure-common): Switch to
pyproject-build-system.
[arguments]<#:tests?>: Set to #f.
[native-inputs]: Add python-setuptools.

Change-Id: Ife71af09e889c7e7931adca87d8bbd9887ad465e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer 863641c83b gnu: python-azure-nspkg: Switch to pyproject-build-system.
* gnu/packages/python-web.scm (python-azure-nspkg):  Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: If5342e683208b6a16089d40e43444cd6918e00b5
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer 2858053d7d gnu: python-pyotp: Switch to pyproject-build-system.
* gnu/packages/python-crypto.scm (python-pyotp): Switch to
pyproject-build-system.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Use test.py.
[native-inputs]: Add python-setuptools and python-pytest.

Change-Id: Ic77d0ad4173804ca300dc2d7bdce6d0529141f8b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer 615ad81ecb gnu: pantalaimon: Update to 0.10.6.
* gnu/packages/matrix.scm (pantalaimon): Update to 0.10.6.
[arguments]<#:phases>: Add 'create-pytest-ini phase.

Change-Id: I0e24fd65638835ba4df55a53b57a3dbc02cb16a0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer 7b52ea8ccb gnu: python-aiohttp-client-cache: Update to 0.14.2.
* gnu/packages/python-web.scm (python-aiohttp-client-cache): Update to 0.14.2.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-poetry-core and python-pytest-cov; add python-hatchling.

Change-Id: Ie6bc8ad470c6fc47867d8dc51df9d7503c797588
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Hugo Buddelmeijer ed73da496b gnu: python-pytest-aiohttp: Update to 1.1.0.
* gnu/packages/python-check.scm (python-pytest-aiohttp): Update to 1.1.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Add 'set-version and 'create-pytest-ini phases.
[propagated-inputs]: Add python-pytest-asyncio.
[native-inputs]: Add python-setuptools and python-setuptools-scm.

Change-Id: Ia25a1d8a8dce23ae9a4773cbf9a8b81e50abb4ac
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Rutherther 38ee0d5528 gnu: webkitgtk: Ungraft.
* gnu/packages/webkit.scm
(webkitgtk): Ungraft.
(webkitgtk/fixed): Remove variable.

Change-Id: I7a21401afefac90c273b6b2e0159849cbb3652db
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge 1ed4f2b475 gnu: python-jmespath: Use older setuptools.
* gnu/packages/python-xyz.scm (python-jmespath)[native-inputs]:
Add python-setuptools-67.

Change-Id: I4bbaae33af1095f1f0757190c63d3eec7fa7afdc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge 71edbd9f3b gnu: python-genshi: Use older setuptools.
* gnu/packages/python-web.scm (python-genshi)[native-inputs]:
Add python-setuptools-67.

Change-Id: I4da0ba45408b16ead0ad89433946e77e80f052ef
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge 819d43b8ca gnu: python-polib: Use older setuptools.
* gnu/packages/python-xyz.scm (python-polib)[native-inputs]:
Add python-setuptools-67.

Change-Id: I4be4d8b093dca118969065494bbfe93112fb5ebd
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge 2c5002242a gnu: python-beautifulsoup4: Update to 4.14.3.
* gnu/packages/python-xyz.scm (python-beautifulsoup4): Update to 4.14.3.

Change-Id: Ic5359b0a3cf0c2d2950badc0b8fff657fbf23824
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge 5980f1cfe9 gnu: python-gpg: Fix build.
* gnu/packages/patches/python-gpg-setup-72.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/gnupg.scm (python-gpg)[source]: Use patch.

Change-Id: I13ea8c28082bf9288aad7995eadf7f17d4b3cd9d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge b3e75b5e75 gnu: python-joblib: Update to 1.5.2.
* gnu/packages/python-xyz.scm (python-joblib): Update to 1.5.2.

Change-Id: If2913bef45f97b5972570d44958a5d359c311c6d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge 0f4ffa74ef gnu: python-markdown: Update to 3.10.
* gnu/packages/python-xyz.scm (python-markdown): Update to 3.10.

Change-Id: I04ef516bbe82bc9fc6fa813d2104e89564219620
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Ludovic Courtès 73fcd73aeb gnu: python-3.11: Ungraft.
* gnu/packages/python.scm (python-3.11)[replacement]: Remove.
[version, source]: Update to 3.11.14.
(python-3.11/fixed): Remove variable.

Change-Id: Idee826409d249fff2aba74e3d6e98ef79ef90a17
Signed-off-by: Andreas Enge <andreas@enge.fr>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Ludovic Courtès cd4a0e2b7b gnu: gtk+: Ungraft.
* gnu/packages/gtk.scm (gtk+)[replacement]: Remove.
[version, source]: Update to 3.24.51.
(gtk+/fixed): Remove variable.

Change-Id: I33041bd0049c92ac7f288fd21faac59cd5c15a59
Signed-off-by: Andreas Enge <andreas@enge.fr>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:09 +01:00
Maxim Cournoyer f20e7c6eed gnu: perl-devel-repl: Fix indentation.
* gnu/packages/perl.scm (perl-devel-repl) [#:phases]: Fix indentation.

Change-Id: If80489a54a919de7d02c6ee3020cbe38caf09ab0
2025-12-17 15:59:34 +09:00
Maxim Cournoyer ead9f1d8fa gnu: perl-reply: Move bash-minimal to inputs.
* gnu/packages/perl.scm (perl-reply) [native-inputs]: Move bash-minimal to...
[inputs]: ... here.

Change-Id: I464923e1a1f028f82e82c410d954bd92492504c9
2025-12-17 15:55:45 +09:00
Maxim Cournoyer d3d7d66b3d gnu: Add perl-reply.
* gnu/packages/perl.scm (perl-reply): New variable.

Change-Id: Ic4ad867b6550d7da6b7544604bd9ce22b0c2c2ce
2025-12-17 15:54:16 +09:00
Maxim Cournoyer ec8d3861d6 gnu: Add perl-devel-overrideglobalrequire.
* gnu/packages/perl.scm (perl-devel-overrideglobalrequire): New variable.

Change-Id: Ib70f7403b3b00ed767e1712cb9d338d95c89a645
2025-12-17 15:47:58 +09:00
Maxim Cournoyer a7d11c6a0b gnu: Add perl-config-ini-reader-ordered.
* gnu/packages/perl.scm (perl-config-ini-reader-ordered): New variable.

Change-Id: I58335935c4c7e010366753dc9da102e2d9434842
2025-12-17 15:47:58 +09:00
Maxim Cournoyer fc136e9cea gnu: Add perl-class-refresh.
* gnu/packages/perl.scm (perl-class-refresh): New variable.

Change-Id: I6f52e51bd79495c4ebaa2765b559472f80ce2aeb
2025-12-17 15:47:58 +09:00
Leo Famulari 05d9a5876b gnu: linux-libre 6.12: Update to 6.12.62.
* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.62.
(linux-libre-6.12-pristine-source): Update hash.

Change-Id: Ie7b977bb249d9421d1649f6cacbe7a304c05505a
2025-12-16 21:19:02 -05:00
Leo Famulari a24c051191 gnu: linux-libre: Update to 6.17.12.
* gnu/packages/linux.scm (linux-libre-6.17-version): Update to 6.17.12.
(linux-libre-6.17-pristine-source): Update hash.

Change-Id: I4fea34db82c9c64502e1ea17f935cbf886a0f8e7
2025-12-16 21:18:58 -05:00
John Kehayias 74e9028499 gnu: Add mitm-cache.
* gnu/packages/rust-apps.scm (mitm-cache): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add mitm-cache.

Change-Id: Ifc2d3a631940b69d1b5c8e9f5a2d9aa25551c265
2025-12-16 16:56:55 -05:00
Andreas Enge 0c8b130c72 gnu: audacity: Update to 3.7.7.
This fixes the compatibility with ffmpeg@8.

* gnu/packages/audio.scm (audacity): Update to 3.7.7.

Fixes: guix/guix#4892
Change-Id: I147bda84239194d9a3ab09462a933331c5ec2cb7
2025-12-16 22:42:45 +01:00
jgart b73a2dcbf6 gnu: trealla: Update to 2.87.3.
* gnu/packages/prolog.scm (trealla): Update to 2.87.3.

Change-Id: Ief5532baabc1631ceb94d46713d356cf0829e2fe
2025-12-16 14:33:56 -06:00
Cayetano Santos c443a8b6bb gnu: fortify-headers: Update to 3.0.
* gnu/packages/suckless.scm (fortify-headers): Update to 3.0.

Change-Id: I2c0f995bea106c5d33a48faad17580acbff8ec26
2025-12-16 21:01:04 +01:00
Roman Scherer 1cc99c8565 gnu: opencv: Skip failing test on aarch64.
* gnu/packages/image-processing.scm (opencv)[arguments]: Disable
ReferenceAccuracy test due to floating-point precision differences
with ARM NEON.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-16 20:28:09 +01:00
Cayetano Santos c1f2a0e477 gnu: python-edalize: Update to 0.6.3.
* gnu/packages/electronics.scm (python-edalize): Update to 0.6.3.

Change-Id: Ied9491135ad06564688860454a99e4b848496f3d
2025-12-16 20:20:16 +01:00
Ian Eure 8cef389d35 gnu: librewolf: Update to 146.0-2 [security-fixes].
Contains fixes for:
CVE-2025-14321: Use-after-free in the WebRTC: Signaling component
CVE-2025-14322: Sandbox escape due to incorrect boundary conditions in
                the Graphics: CanvasWebGL component
CVE-2025-14323: Privilege escalation in the DOM: Notifications
                component
CVE-2025-14324: JIT miscompilation in the JavaScript Engine: JIT
                component
CVE-2025-14325: JIT miscompilation in the JavaScript Engine: JIT
                component
CVE-2025-14326: Use-after-free in the Audio/Video: GMP component
CVE-2025-14327: Spoofing issue in the Downloads Panel component
CVE-2025-14328: Privilege escalation in the Netmonitor component
CVE-2025-14329: Privilege escalation in the Netmonitor component
CVE-2025-14330: JIT miscompilation in the JavaScript Engine: JIT
                component
CVE-2025-14331: Same-origin policy bypass in the Request Handling
                component
CVE-2025-14332: Memory safety bugs fixed in Firefox 146 and
                Thunderbird 146
CVE-2025-14333: Memory safety bugs fixed in Firefox ESR 140.6,
                Thunderbird ESR 140.6, Firefox 146 and Thunderbird 146

* gnu/packages/librewolf.scm (librewolf): Update to 146.0-2.
2025-12-16 06:56:24 -08:00
Ian Eure b0a55661b1 gnu: firefox-l10n: Update to fa4b12c075b42be6652237119d74346d377d2ae4.
* gnu/packages/librewolf.scm (firefox-l10n): Update to fa4b12c075b42be6652237119d74346d377d2ae4.

Change-Id: I25e7c160fd252d67c5e117b0ad48d431c7ee5b45
2025-12-16 06:56:23 -08:00
Ian Eure 08a731a380 gnu: Add rust-cbindgen-0.29.
* gnu/packages/rust-apps.scm (rust-cbindgen-0.29): New variable.

Change-Id: I844f77160d3a6c271ba54e3a5731f34219603895
2025-12-16 06:56:22 -08:00
Cayetano Santos 25a6fbe2df gnu: openfortivpn: Update to 1.24.0.
* gnu/packages/vpn.scm (openfortivpn): Update to 1.24.0.
[native-inputs]: Add perl and python-wrapper.

Change-Id: Iaafc5902d4cd3fde0964d9d11d21b68a7a2328e8
2025-12-16 10:31:03 +01:00
Rutherther 36c3a0a640 system: Reinstate lock-mounts work around for system containers.
The underlying problem for system containers still hasn't been
solved, the part of issue 78356 that has been solved is only
home containers.

This reverts commit cbc35fd9aa.
This is a work around for #4788 (previously https://issues.guix.gnu.org/78356).

* gnu/system/linux-container.scm (container-script): Disable lock-mounts?

Change-Id: Ib8eacfc1f1f1a858acf19beb6c14e12c4648b8d9
2025-12-16 09:32:07 +01:00
Rutherther f7ee648345 self: Install systemd timer and mount services.
Add missing systemd files.

* guix/self.scm (miscellaneous-files): Add gnu-store.mount
and guix-gc.timer

Change-Id: I746a575a6e82363a78f69081ec67b76457d52bf2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-16 09:25:40 +01:00
jgart 12dcbe5876 teams: hare: Fix typo in module header comment.
* etc/teams/hare/hare-manifest.scm: Fix typo in module header comment.

Change-Id: Ic8b9dfeb2ae9f7785bd56c41c7cb5c568e6b7bbb
2025-12-15 19:02:32 -06:00
Maxim Cournoyer cb2d7fa28d gnu: Add emacs-perl-doc.
* gnu/packages/emacs-xyz.scm (emacs-perl-doc): New variable.

Change-Id: I81d50af847dd251247085df3dca151a5b75958eb
2025-12-16 09:22:09 +09:00
npatra 669a6c8e99 guix-install.sh: Check for gpg keys only if downloading tarball from ftp.
* etc/guix-install.sh (main_install): Call chk_gpg_keyring only if
GUIX_BINARY_FILE_NAME is not set.

Change-Id: Ia0a7449c8798ca7d61a0f1f1e793f2bafd521c5b
Signed-off-by: npatra <nilesh@riseup.net>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:27 +01:00
Nilesh Patra 1fea6b359f guix-install.sh: Fetch gpg keys from codeberg and public keyservers.
Instead of fetching from no longer responsive gnu.org, fetch from
Codeberg.org, falling back to public keyservers in case codeberg
is down or unresponsive.

* etc/guix-install.sh
(GPG_SIGNING_KEY): Change gnu.org user ids to codeberg usernames.
(PUBLIC_KEYSERVERS): Add variable.
(chk_gpg_keyring): Use codeberg for fetching gpgs and fallback to public
keyservers.

Change-Id: Iddcd31239e2f3460d920194d62443ff00be7c957
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:26 +01:00
Thiago Jung Bauermann 53808b13b8 etc: SELinux: Add permissions to allow garbage collection.
There may be an improvement to be made to guix-daemon to avoid some
spurious denial audit messages, as described in the FIXME.

* etc/guix-daemon.cil.in: Add missing rules for guix gc.

Change-Id: I3651c4523528649048c7135fabd3000c8e78b1ff
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:21 +01:00
Thiago Jung Bauermann 1b59b93602 etc: SELinux: Add missing permissions.
With the changes in this commit, I can use "guix pull" and
"guix install <package>" successfully and without generating SELinux
denial erros in the system log.

* etc/guix-daemon.cil.in: Add missing rules for guix pull/guix install.

Change-Id: I40b5ed2c458b275804bc073fb72286947ecb0283
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:17 +01:00
Cayetano Santos 1850ff7a3f gnu: abc: Update to 0.0-8.ee04349.
* gnu/packages/electronics.scm (abc): Update to 0.0-8.ee04349.

Change-Id: Icbd4c181801d393710acc76fe4a06366a8cf825a
2025-12-15 12:05:03 +01:00
Cayetano Santos 5962a29311 gnu: python-cocotb-bus: Update to 0.3.0.
* gnu/packages/electronics.scm (python-cocotb-bus): Update to 0.3.0.
[propagated-inputs]: Remove python-packaging.

Change-Id: I5dbc4624843c008813fc9f2bbaefaba01b22ffa3
2025-12-15 11:53:36 +01:00
Sören Tempel 2a12c1a487 gnu: wlroots-0.15: Fix build with GCC 15.
* gnu/packages/wm.scm (wlroots-0.15)[arguments]: Change CFLAGS
to disable new GCC 15 warnings.

Change-Id: I7c27892097e0bb4f0a8e116dc2485c23b9a4aac2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-15 11:05:57 +01:00
Roman Scherer 70f73592d3 gnu: go-1.21: Disable failing tests on arm architectures.
* gnu/packages/golang.scm (go-1.21)[arguments]<#:phases>{patch-source}:
Add phase disabling tests on arm architectures.

Change-Id: I6b07de4d6eee755502f02d6961f1a51066003721
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-15 10:59:10 +01:00
Brendan Tildesley 1d81d04d2b gnu: qtbase@6: Don't install test junk.
* gnu/packages/qt.scm (qtbase)[arguments]: Replace ineffective
delete-installed-tests phase with dont-install-tests phase.

Fixes: guix/guix#4529
Change-Id: I2ddd27e34a314e7a04de571d0bc1b13f75af66f4
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-15 10:13:59 +01:00
kestrel 4a2ea8fab6 gnu: qtwebengine: Fix GPU rendering with mesa-25.2.0.
* gnu/packages/qt.scm (qtwebengine)[source]: Add patch.
* gnu/packages/patches/qtwebengine-revert-egl.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Fixes: guix/guix#3222
Change-Id: Id0cb3d956d3faf30f737fa2a689cd936270c2413
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-15 10:13:50 +01:00
Efraim Flashner 1e87499a77 gnu: qtwebengine: Update to 6.9.3.
* gnu/packages/qt.scm (qtwebengine): Update to 6.9.3.
[source]: Remove patch.
* gnu/packages/patches/qtwebengine-fix-dependencies.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Co-authored-by: kestrelwx <kestrel.w@proton.me>
Change-Id: I08a3915f0896b74ce493afcc1746d950a1444a03
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-15 10:13:36 +01:00
Efraim Flashner 4a2281923a gnu: qtbase: Always find libvulkan.
Fixes: guix/guix#3330

* gnu/packages/qt.scm (qtbase)[source]: Add patch.
[arguments]: Adjust a phase to substitute the location for libvulkan.so.
* gnu/packages/patches/qtbase-patch-libvulkan.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Co-authored-by: kestrelwx <kestrel.w@proton.me>
Change-Id: I39f1be5a30c5c17a4e4ea6c853b475f20ba8272c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-15 10:13:25 +01:00
Matthew Elwin 4a1ba85b97 gnu: python-orocos-kinematics-dynamics: Fix build.
* gnu/packages/engineering.scm (python-orocos-kinematics-dynamics)[source]:
Remove snippet.
[arguments]: Add ’fix #:phase.

Change-Id: Ia5e8e2826ea74fd968d7246ec85e0195d7663a1f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2025-12-15 09:59:37 +01:00
Grigory Shepelev 61b8f6fd58 gnu: Add emacs-yaml-pro.
* gnu/packages/emacs-xyz.scm (emacs-yaml-pro): New variable.

Change-Id: Ieeb35123de78870a8348a8e1960c5703d5972f73
2025-12-14 12:18:31 -08:00
bdunahu 6e612616f0 gnu: radare2: Update to 6.0.7 [security fixes].
Includes fixes for CVE-2025-1744, CVE-2025-1864, CVE-2025-60358, CVE-2025-60359, CVE-2025-60360, CVE-2025-60361, CVE-2025-63744, CVE-2025-63745, CVE-2024-26475, CVE-2024-11858, CVE-2023-0302, CVE-2023-1605, CVE-2023-4322, CVE-2023-5686, CVE-2023-46569, CVE-2023-46570, CVE-2023-47016, CVE-2022-0173, CVE-2022-0419, CVE-2022-0139, CVE-2022-0518, CVE-2022-0519, CVE-2022-0520, CVE-2022-0521, CVE-2022-0522, CVE-2022-0523, CVE-2022-0559, CVE-2022-0676, CVE-2022-0712, CVE-2022-0713, CVE-2022-0476, CVE-2022-0695, CVE-2022-0849, CVE-2022-1031, CVE-2022-1061, CVE-2022-1052, CVE-2022-1207, CVE-2022-1244, CVE-2022-1237, CVE-2022-1238, CVE-2022-1240, CVE-2022-1283, CVE-2022-1284, CVE-2022-1296, CVE-2022-1297, CVE-2022-1382, CVE-2022-1383, CVE-2022-1437, CVE-2022-1444, CVE-2022-1451, CVE-2022-1452, CVE-2022-1649, CVE-2022-1714, CVE-2022-1809, CVE-2022-1899, CVE-2022-4398, CVE-2022-4843.

* gnu/packages/engineering.scm (radare2): Update to 6.0.7.
[build-system]: Switch to meson-build-system.
[arguments]: <#:tests>: enable tests; <#:phases>: remove 'mklibdir, add 'fix-relative-include, add 'skip-tests.
[inputs]: Add gmp, libzip, lz4, quickjs-ng, sdb, zlib; remove zip.
[native-inputs]: Add node, perl, python-minimal-wrapper.
* gnu/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch: New file.
* gnu/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch: New file.
* gnu/local.mk: (dist_patch_DATA): Register new patch files.

Change-Id: I646f67279d238c3d447b3dca97d78b5768989a14
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-14 17:29:05 +01:00
bdunahu 7d7b8b6f68 gnu: Add sdb.
* gnu/packages/databases.scm (sdb): New variable.

Change-Id: I199de01ffb467a3f64b48d5ae42dc5fc18cab3df
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-14 17:28:08 +01:00
Hartmut Goebel c13b02491f gnu: aqbanking: Update to 6.8.2 and change source to git.
* gnu/packages/gnucash.scm: (aqbanking): Update to 6.8.2.
[source]: Change to git-fetch.
[arguments]: Change to gexp.
[phases]: New phases make-cvs, build-types.
[native-inputs]: Sort and add autoconf, automake, libtool.

Change-Id: I45aa743dc4918c77122510b0c89df757f073f7c7
2025-12-14 12:51:35 +01:00
Hartmut Goebel 33e0ce57b4 gnu: gwenhywfar: Update to 5.14.1 and change source to git.
* gnu/packages/gnucash.scm: (gwenhywfar): Update to 5.14.1.
[source]: Change to git-fetch.
[arguments]: Change to gexp.
[phases]: New phase make-cvs.
[native-inputs]: Add autoconf, automake, gettext-minimal, libtool.

Change-Id: I7325675cf2a81deb302423d9ecbd97d9d56b5a28
2025-12-14 12:51:35 +01:00
Cayetano Santos 0c56ccc9a9 gnu: tomb: Update to 2.13.
* gnu/packages/crypto.scm (tomb): Update to 2.13.

Change-Id: I85ea762361f8c03fb2f63a0413c03bda00fa9a8f
2025-12-14 12:48:50 +01:00
Liliana Marie Prikler 0cd42af4f9 gnu: wpewebkit: Update to 2.50.3.
* gnu/packages/webkit.scm (wpewebkit): Update to 2.50.3.

Merges: guix/guix#4767
2025-12-14 12:34:59 +01:00
Liliana Marie Prikler cdd2690b02 gnu: webkitgtk: Graft to 2.50.3 [security fixes].
* gnu/packages/webkit.scm (webkitgtk/fixed): New variable.
(webkitgtk)[replacement]: Use it here.
(webkitgtk-for-gtk3): Use package/inherit.
2025-12-14 12:34:19 +01:00
Anderson Torres a1ab5b87f1 gnu: Add emacs-load-dir.
* gnu/packages/emacs-xyz.scm (emacs-load-dir): New variable.

Change-Id: If923f98480fc119220a45662ff022416830bb980
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Merges: guix/guix#4691
2025-12-14 12:33:56 +01:00
Ghislain Vaillant 8023f009f2 gnu: Add klevernotes.
* gnu/packages/kde-office.scm (klevernotes): New variable.

Change-Id: Idcfe5ef2fa15ec972f7488a77331f94010593836
2025-12-14 12:17:47 +05:30
jgart f9548eef30 gnu: Add sxmobar.
* gnu/packages/hare-apps.scm (sxmobar): New variable.

Change-Id: I55f46c5f1ee875f5fc8025df0859715696842b20
2025-12-14 00:25:10 -06:00
jgart 7bb3ec9632 gnu: trealla: Update to 2.87.0.
* gnu/packages/prolog.scm (trealla): Update to 2.87.0.

Change-Id: I37f74e99f6291bbe72dbf7cea84f4bc43326a37f
2025-12-13 23:19:18 -06:00
jgart 6def6eae95 gnu: Add bonsai.
* gnu/packages/hare-apps.scm (bonsai): New variable.

Change-Id: I4489911b111c48aeb9b084e685aaafa8adfd98e4
Signed-off-by: jgart <jgart@dismail.de>
2025-12-13 22:57:49 -06:00
jgart d68d535327 gnu: Add hare-ev.
* gnu/packages/hare-xyz.scm (hare-ev): New variable.

Change-Id: I06bd80eed0c169af7b1a25a3e22c289386419697
Signed-off-by: jgart <jgart@dismail.de>
2025-12-13 22:21:42 -06:00
Danny Milosavljevic f1ad9b5b82 gnu: swift-llvm: Enable assertions.
* gnu/packages/llvm.scm (swift-llvm)[arguments]{configure-flags}: Enable assertions.

Closes: guix/guix#4015
Change-Id: I836898c21f4952e61886f237cba06d095b92402c
2025-12-14 00:12:51 +01:00
Anderson Torres 4e067ef98d gnu: Add acr.
* gnu/packages/build-tools.scm (acr): New variable.

Change-Id: Ief39219971cb4fed738d8872e2a9500b7e711201
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4484
2025-12-13 23:14:28 +01:00
Anderson Torres ea1c939464 gnu: wdiff: Use gexps.
* gnu/packages/patchutils.scm(wdiff)[arguments]: Use gexps.

Change-Id: Ife2c051c209948afafe67854a315bdfa1a604f52
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4774
2025-12-13 23:14:28 +01:00
Anderson Torres 805dd1764e gnu: wdiff: Migrate from (gnu packages wdiff) to (gnu packages patchutils).
wdiff is a single leaf package; there is few to no reason to keep it isolated
in a single file.
Given that patchutils.scm has similar packages, e.g. @code{vbindiff}, it is a
good choice to receive wdiff.

* gnu/local.mk: Remove reference to wdiff.scm.
* gnu/packages/wdiff.scm: Delete file.
(wdiff): Move from here ...
* gnu/packages/patchutils.scm: ... to here.
Update copyright commentaries.
Add module (gnu packages texinfo).
* po/packages/POTFILES.in: Remove reference to wdiff.scm.

Change-Id: Ife2c051c209948afafe67854a315bdfa1a604f52
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-13 23:14:28 +01:00
Anderson Torres 0a86d834fa gnu: patchutils.scm: Mild cleanup.
* gnu/packages/patchutils.scm: Mild cleanup.
Order #:use-module directives ascii-betically.
Prefix all license entries with license:.

Change-Id: Ib01d69f1f131a4a7a541a75b5dcd1a607a5e1dab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-13 23:14:28 +01:00
Hugo Buddelmeijer 3bebde3481 doc: Warn that extra-special-file files persist.
* doc/guix.tex (Base Services)[extra-special-file]: Add warning regarding
special files persisting after extra-special-file call is removed from the
system config.

Change-Id: I29cb3a31ee45894293d9becf3c0ebe93ea7f0da4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2810
2025-12-13 23:14:28 +01:00
Ale Abdo 38a5dd01dd gnu: Add font-peppercarrot.
* gnu/packages/fonts.scm (font-peppercarrot): New variable.

Change-Id: Ic1ae736b392b4862445cb4630279dc818d4bab99
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4506
2025-12-13 23:14:27 +01:00
Ale Abdo 5054c24ed6 guix: Add license silofl1.0.
* guix/licenses.scm: Adds 'silofl1.0' and updates url in `silofl1.1`.

Change-Id: Ie47d0b5f2bc000c09ad409092ca8c6a69e1190cb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-13 23:14:27 +01:00
Ludovic Courtès 2b3782eb6e gnu: guile: Add 3.0.11.
* gnu/packages/guile.scm (guile-3.0.11): New variable.
(guile-3.0-latest): Add comment.

Change-Id: Id8ec934bb504750a5cefb5d417eab84175c47d01
Merges: #4747
2025-12-13 23:14:27 +01:00
Ludovic Courtès 812fc780d4 tests: Use ‘https’ for ‘home-page’ in ‘guix import pypi’ tests.
Fixes a regression introduced in d66e9698a1.

* tests/import/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, no wheel, no requires.txt, but pyproject.toml")
("pypi->guix-package, no wheel, but requires.txt and pyproject.toml")
("pypi->guix-package, no requires.txt, but wheel.")
("pypi->guix-package, no usable requirement file, no wheel.")
("pypi->guix-package, package name contains \"-\" followed by digits"): Change
‘home-page’ to ‘https://’.

Fixes: guix/guix#4646
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: Id3ddac832d9688f2eb8a055c13f62a9642a20766
2025-12-13 23:14:27 +01:00
Anderson Torres f82549d9f6 etc: Translate news to Portuguese.
* etc/news.scm: Translate to Portuguese.

Change-Id: Ieb467278d92d46dc1dde339dec03677d77b2a421
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2025-12-13 14:35:27 +01:00
Rutherther e3c33d9ab4 image: esp32-partition/grub: Pass root to initialize-efi32-partition.
Follow up of: ca0ed91b40 where the root argument has been omitted.
This leads to an error, because initialize-efi32-partition expects
`root` as first argument, while `#:grub-efi32` was given.
Fixes: #4634.

* gnu/system/image.scm (esp32-partition/grub): Pass 'root' as first argument
to initialize-efi32-partition.

Change-Id: Ia839f40444304c229aef33e996c66c8209e42dda
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-13 14:26:52 +01:00
Rutherther 6935e6c51d services: postgres: Return #f on stop.
Shepherd expects #f to know the service has stopped.

* gnu/services/databases.scm (postgresql-shepherd-service): Return #f
on stop.

Change-Id: Ie5c45efc7eef75c325ddfd0ef197b306c7b60e5b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-13 14:02:08 +01:00
Hugo Buddelmeijer 224abdac10 gnu: python-django-4: Update to 4.2.27 [security fixes].
This fixes CVE-2025-64460.

* gnu/packages/django.scm (python-django-4): Update to 4.2.27.

Change-Id: I299d8c2455e5d18298c295d5ae6ea3b912847ec2
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-13 11:03:20 +01:00
bdunahu e4cc300ea0 gnu: mupen64plus-ui-console: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-ui-console): Update to 2.6.0.

Change-Id: I2d731d533c554784227e728ea388e4de96c1071d
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:03 +01:00
bdunahu 21a9802a71 gnu: mupen64plus-video-z64: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-z64): Update to 2.6.0.

Change-Id: I1cb0ea5661fafdfd44da0adb246c8353890bfff0
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu d2b987b81e gnu: mupen64plus-video-rice: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-rice): Update to 2.6.0.

Change-Id: Id57a1b8a34c0d1292ada6e8c70777dbec9df1099
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu 0c474d32e7 gnu: mupen64plus-video-glide64mk2: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-glide64mk2): Update to 2.6.0.

Change-Id: Iec8834f17227d485553f609f7f4b2d924c58bf1d
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu 64a3cdaff4 gnu: mupen64plus-video-glide64: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-glide64): Update to 2.6.0.

Change-Id: I2a9a7358465b6ce3f96845e7462757c6289a0acd
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu 27a224f340 gnu: mupen64plus-video-arachnoid: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-arachnoid): Update to 2.6.0.

Change-Id: I4a72cbba52d65dba01c6127b92f18999cb548c57
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu f01eea2a37 gnu: mupen64plus-rsp-z64: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-rsp-z64): Update to 2.6.0.

Change-Id: Ib0effee004a5d22d4b85c925f9e5befd6a154ca6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu 0e8064d64d gnu: mupen64plus-rsp-hle: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-rsp-hle): Update to 2.6.0.

Change-Id: I44e2c00a40f2935c2838da8e31406a26868488e4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu 53cf71560f gnu: mupen64plus-input-sdl: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-input-sdl): Update to 2.6.0.

Change-Id: Iea5c55bbf7629298669e8355b234d220033eacbd
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu 3d8d9624ec gnu: mupen64plus-audio-sdl: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-audio-sdl): Update to 2.6.0.

Change-Id: Ibad6fa88287d3b62120823780671227af2c3f8de
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu 7ce90c2cce gnu: mupen64plus-core: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-core): Update to 2.6.0.
[inputs]: Add vulkan-loader.

Change-Id: Ief3c7b381269532999dffb128080fcaf3f1f2b06
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:57:59 +01:00
Junker e0d9777140 gnu: Add ctune.
* gnu/packages/music.scm (ctune): New variable.
* gnu/packages/patches/ctune-cmake-disable-git-clone.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new patch.

Change-Id: I3faf63279b958757d20e0fd2cae6f1e06d08818c
Signed-off-by: Sughosha <sughosha@disroot.org>
2025-12-13 09:12:30 +05:30
jgart 457a773e6f gnu: trealla: Update to 2.86.12.
* gnu/packages/prolog.scm (trealla): Update to 2.86.12.

Change-Id: I0d79781471fca725c745aef3a91fbb7cf0af70c5
2025-12-12 09:23:08 -06:00
Florian Pelz 43000584aa news: Add 'de' translation.
* etc/news.scm: Add German translation of linux-libre 5.4 removal entry.

Change-Id: I541dd12cc2364d36fb77ef3fc11442760b9d191c
2025-12-12 16:11:32 +01:00
Cayetano Santos ba5170d715 gnu: vhdl-ls: Update to 0.86.0.
* gnu/packages/rust-apps.scm (vhdl-ls): Update to 0.86.0.
[arguments]: Use #:rust 1.87 and set #:cargo-test-flags.
* gnu/packages/rust-crates.scm (rust-winnow-0.7.14): New variable.
* gnu/packages/rust-crates.scm (rust-syn-2.0.111): New variable.
* gnu/packages/rust-crates.scm (rust-lsp-server-0.7.9): New variable.
* gnu/packages/rust-crates.scm (rust-jiff-static-0.2.16): New variable.
* gnu/packages/rust-crates.scm (rust-jiff-0.2.16): New variable.
* gnu/packages/rust-crates.scm (rust-indexmap-2.12.1): New variable.
* gnu/packages/rust-crates.scm (rust-hashbrown-0.16.1): New variable.
* gnu/packages/rust-crates.scm (rust-dactyl-0.12.0): New variable.
* gnu/packages/rust-crates.scm (rust-clap-builder-4.5.53): New variable.
* gnu/packages/rust-crates.scm (rust-clap-4.5.53): New variable.
* gnu/packages/rust-crates.scm (rust-brunch-0.10.4): New variable.
* gnu/packages/rust-crates.scm (rust-assert-cmd-2.1.1): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update.

Change-Id: I70593ec54fcff6d2f010a5e3f2536102d2f604d8
2025-12-12 12:15:20 +01:00
Hugo Buddelmeijer 2e2294ff26 gnu: python-autograd-gamma: Fix build.
* gnu/packages/machine-learning.scm (python-autograd-gamma): Fix build.
[source]: Switch to git-fetch to have tests.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: Ibb034a65f212917620bb1080f20e6ddc2347c65e
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-12 11:58:36 +01:00
Cayetano Santos 75016a2ee8 gnu: python-lifelines: Compute parallel tests.
* gnu/packages/statistics.scm (python-lifelines)[native-inputs]: Add
python-pytest-xdist.
[arguments]: Add --numprocesses flag to #:test-flags, and remove very
slow tests.

Change-Id: Ib2ecc8bec37d9a7f95f992d8af160283b5abe881
2025-12-12 11:55:01 +01:00
Leo Famulari 243bc42768 news: Announce the end of support for linux-libre 5.4.
* etc/news.scm: Add entry.

Change-Id: I9f8122bb46c5e7d2c369d86d4e8f4888c5b5bcd9
2025-12-11 17:02:42 -05:00
Leo Famulari d3b79beaa8 gnu: linux-libre 5.4: Update to 5.4.302.
* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.302.
(linux-libre-5.4-pristine-source): Update hash.

Change-Id: I49194e64f57fb4747ca00a36413a7e7acf41c8c3
2025-12-11 16:39:35 -05:00
Leo Famulari 1c5314a391 gnu: linux-libre 5.10: Update to 5.10.247.
* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.247.
(linux-libre-5.10-pristine-source): Update hash.

Change-Id: If0e5b3f44ba08dd25485538372090eb7febe77df
2025-12-11 16:39:34 -05:00
Leo Famulari d7e98c1ce6 gnu: linux-libre 5.15: Update to 5.15.197.
* gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.197.
(linux-libre-5.15-pristine-source, deblob-scripts-5.15): Update hashes.

Change-Id: Ie541e9481554076eca04f6e9f06fa896048b0fc0
2025-12-11 16:39:34 -05:00
Leo Famulari f392ac3983 gnu: linux-libre 6.1: Update to 6.1.159.
* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.159.
(linux-libre-6.1-pristine-source, deblob-scripts-6.1): Update hashes.

Change-Id: I022354f52ba32917568dd1ffcf0f4e7e16b61693
2025-12-11 16:39:34 -05:00
Leo Famulari a223070138 gnu: linux-libre 6.6: Update to 6.6.119.
* gnu/packages/linux.scm (linux-libre-6.6-version): Update to 6.6.119.
(linux-libre-6.6-pristine-source, deblob-scripts-6.6): Update hashes.

Change-Id: I6c0b0192bec6193fc9e01d776b3ea24517cab709
2025-12-11 16:39:34 -05:00
Leo Famulari 27a8a8888b gnu: linux-libre 6.12: Update to 6.12.61.
* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.61.
(linux-libre-6.12-pristine-source, deblob-scripts-6.12): Update hashes.

Change-Id: Ic67d16b331c826e96558dd836ae27d3b2fbe0510
2025-12-11 16:39:33 -05:00
Leo Famulari 530c6f2668 gnu: linux-libre: Update to 6.17.11.
* gnu/packages/linux.scm (linux-libre-6.17-version): Update to 6.17.11.
(linux-libre-6.17-pristine-source): Update hash.

Change-Id: I8cc0758200f838bb7ee32660197762d2b9349e23
2025-12-11 16:39:22 -05:00
Mark H Weaver 366e125e34 gnu: icecat: Update to 140.6.0-gnu1 [security fixes].
Includes fixes for CVE-2025-14321, CVE-2025-14322, CVE-2025-14323,
CVE-2025-14324, CVE-2025-14325, CVE-2025-14328, CVE-2025-14329,
CVE-2025-14330, CVE-2025-14331, and CVE-2025-14333.

* gnu/packages/gnuzilla.scm (%icecat-base-version, %icecat-build-id): Update.
(icecat-source): Update 'gnuzilla-commit' and hashes.
2025-12-11 15:33:41 -05:00
Sergey Trofimov 1f3c679795 gnu: tinyxml2: Build position independent.
* gnu/packages/xml.scm (tinyxml2)[arguments]{#:configure-flags}:
Add CMAKE_POSITION_INDEPENDENT_CODE.

Change-Id: I0e41895edc617225ed998d15d050e2306bf7bef5
Signed-off-by: Greg Hogan <code@greghogan.com>
2025-12-11 19:26:25 +00:00
Hugo Buddelmeijer 0bd6326d91 gnu: python-jose: Update to 3.5.0 [security fixes].
This update includes fix for CVE-2024-33663 and CVE-2024-33664.

* gnu/packages/python-web.scm (python-jose): Update to 3.5.0.
[arguments]<#:test-flags>: Re-enable all tests.
[propagated-inputs]: Remove python-six.
[native-inputs]: Remove python-pytest-cov, python-pytest-runner, python-wheel.

Change-Id: I22867a51d333467ffb5e64512a3257f92fc540ee
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-11 20:03:40 +01:00
Isidor Zeuner ad94bc31ca gnu: Add python-quantlaw.
* gnu/packages/python-xyz.scm (python-quantlaw): New variable.

Change-Id: I22d57cb02ae805559e26eb345ff140ae420da7ad
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-11 19:56:25 +01:00
Ashish SHUKLA 99af411456 gnu: copyq: Update to 13.0.0.
* gnu/packages/xdisorg.scm (copyq): Update to 13.0.0.
[inputs]: Add kguiaddons, libxtst.

Change-Id: Iea1d53b3e1b09225b91a124192d6727e159835f5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4674
2025-12-11 16:03:10 +01:00
Ahmad Draidi 48c73c6275 gnu: bcachefs-linux-module: Update to 1.33.0.
* gnu/packages/file-systems.scm (bcachefs-linux-module): Update to 1.33.0.

Change-Id: Idf01cf4c4bba7e30314c0fb9d9da698a3d2e767d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4693
2025-12-11 16:02:11 +01:00
Hugo Buddelmeijer dc6f47a44b gnu: python-ldap: Update to 3.4.5 and fix CVE-2025-61911, CVE-2025-61912.
* gnu/packages/openldap.scm (python-ldap): Update to 3.4.5.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Use gexps.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Ib4ec662293d44c4be29fd67adbd592902f7c9e12
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4699
2025-12-11 16:01:17 +01:00
Sören Tempel 32e0002303 gnu: rlwrap: Update to 0.48.
* gnu/packages/readline.scm (rlwrap): Update to 0.48.
[inputs]: Add libptytty.
* gnu/packages/patches/rlwrap-no-rbgen.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: Id7138bd4b4485bd4438b9140b2896b4093630c42
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4703
2025-12-11 15:59:38 +01:00
Ludovic Courtès 7203e3c522 gnu: ucx: Update to 1.19.0.
* gnu/packages/fabric-management.scm (ucx): Update to 1.19.0.
* gnu/packages/patches/ucx-tcp-iface-ioctl.patch: Update.

Change-Id: I40dafb5173048804cb2368d0c45e71d1ed014482
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4675
2025-12-11 15:55:24 +01:00
Ludovic Courtès 710d198457 gnu: prrte: Update to 4.0.0.
* gnu/packages/parallel.scm (prrte): Update to 4.0.0.

Change-Id: I5a7679680a8313464115b1c4aaac89305c2fe1f7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:24 +01:00
Ludovic Courtès 8cdef4cab6 gnu: libfabric: Update to 2.3.1.
* gnu/packages/linux.scm (libfabric): Update to 2.3.1.

Change-Id: I095e666c2142c7552a649893da5875db7c05d186
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès e626941500 gnu: rdma-core: Update to 60.0.
* gnu/packages/linux.scm (rdma-core): Update to 60.0.

Change-Id: Iaddc0f820e23893f3420f147f01ec209dc7e98c9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès d6d1554fe7 gnu: openmpi-5: Update to 5.0.9.
* gnu/packages/mpi.scm (openmpi-5): Update to 5.0.9.

Change-Id: If10ce47b8f09cf24cca617bf4556c1587cbde8b1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès f9fddcc784 gnu: libcxi: Update to 13.0.0.
* gnu/packages/linux.scm (libcxi): Update to 13.0.0.

Change-Id: I5361eec952acce59b2a156b719e8af3aeb435846
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès 04dce5dab6 gnu: cxi-driver: Update to 13.0.0.
* gnu/packages/linux.scm (cxi-driver): Update to 13.0.0.
(cxi-driver-for-libfabric-1): New variable.
(libfabric-1)[inputs]: New field.

Change-Id: Ib0d9da9fc5d04675a4a408340ae338a839b8ebbb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès 11425c84e4 gnu: cassini-headers: Update to 12.0.1.
* gnu/packages/linux.scm (cassini-headers): Update to 12.0.1.

Change-Id: I3f03e15552661768fc21c4d75709aa283f26ed8c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Giacomo Leidi fdb46ae7b1 system: Relax subordinate ID validation.
https://codeberg.org/guix/guix/issues/3925 raised the inabilityy of the
subordinate IDs service of handling externally managed sub{u,g}id file
entries. This patch relaxes the checks in place for existing ranges,
by allowing subid-range records lower than %subordinate-id-min, leaving
all the space from subid 0 to %subordinate-id-min - 1 to external
users. Generic ranges are still allocated within %subordinate-id-min and
%subordinate-id-max.

* gnu/build/accounts.scm (<unused-id-range>)[min]: Change default value
to 0, allowing subid-ranges with a start lesser than
%subordinate-id-min.
(allocate-generic-range): Allocate generic ranges starting from
%subordinate-id-min, leaving ranges starting before %subordinate-id-min.
(allocate-specific-range): Move bounds check to...
(allocate-subids): ...here. Now bound validation is applied only to user
provided ranges.
* tests/accounts.scm: Test new behavior.

Fixes: guix/guix#3925
Change-Id: Id923b122c97a20f148684f5fb144fd9422810612
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4235
2025-12-11 15:43:16 +01:00
Owen T. Heisler 94b26ff284 services: oci: Fix oci-image value field handling.
* gnu/services/containers.scm (lower-oci-image-state, oci-lowerable-image?):
Remove support for gexps and correctly lower file-like objects.
* doc/guix.texi: Remove gexp from oci-image value field description.

Fixes: guix/guix#3818
Change-Id: Ib812d65b32dd68f8572fcb371ab4521d22e5336c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #3819
2025-12-11 15:31:09 +01:00
Florian Pelz 24d0c0a951 nls: Update translations.
Change-Id: I59f8d263668d36faa84bad8a355baa964332ac6a
2025-12-11 01:58:47 +01:00
Cayetano Santos ec95989255 gnu: emacs-realgud: Update to 1.5.1-0.56a8d82.
* gnu/packages/emacs-xyz.scm (emacs-realgud): Update to 1.5.1-0.56a8d82.
[arguments]: Add ’delete-cask-install and complete
’patch-more-el-files #:phases.
[native-inputs]: Add python-minimal-wrapper, perl, and ruby.

Change-Id: I9b79bc4558e4090e8f526994e91cb023fe2f5930
2025-12-10 19:30:54 +01:00
Cayetano Santos 1242d59e81 gnu: emacs-explain-pause-mode: Remove.
See deprecation note on upstream README.md.

* gnu/packages/emacs-xyz.scm (emacs-explain-pause-mode): Delete variable.

Change-Id: Icda81347c638b534a8bea299a6d188912ad2cb5d
2025-12-10 19:30:54 +01:00
Cayetano Santos 869de1fc16 gnu: emacs-test-simple: Fix build.
* gnu/packages/emacs-xyz.scm (emacs-test-simple)[source]: Switch to
git-fetch.
[arguments]: Add ’check #:phase.

Change-Id: I06314e490b655c4f6637a13ae1692d0bd306c1c5
2025-12-10 19:30:54 +01:00
Cayetano Santos f4a9869bbc gnu: book-emacs-lisp-elements: Update to 2.0.0.
* gnu/packages/books.scm (book-emacs-lisp-elements): Update to 2.0.0.

Change-Id: I2b2acd0704d63a980481a94e46b5e768eba46d71
2025-12-10 19:19:35 +01:00
Anderson Torres 8b304ac633 etc: Translate news to Portuguese.
* etc/news.scm: Translate to Portuguese.

Change-Id: I2cb34804a2a89db59ddcd42b393915b358b18f33
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2025-12-10 18:20:20 +01:00
Noé Lopez 21f0be1aa3 etc: manifests: Add important packages manifest for release.
For now, the packages are from the online form sent in
<https://lists.gnu.org/archive/html/guix-devel/2025-10/msg00091.html>.

Going forwards, more packages can be added manually or if there are more
answers to the form.

* etc/manifests/release-user-packages.scm: New file.
* Makefile.am: Add it.

Change-Id: I2d619ab9d307a6ea216310d1c86a1dc71feb1523
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-10 13:01:00 +01:00
Cayetano Santos e7671c02a4 gnu: open-logic: Update to 4.2.0.
* gnu/packages/electronics.scm (open-logic): Update to 4.2.0.

Change-Id: I4370f3289b4d1f0d2a5beb8897b04bf3f51535b0
2025-12-10 08:36:29 +01:00
Efraim Flashner 3a068fcbb3 gnu: cppcheck: Fix tests on non-x86 systems.
* gnu/packages/check.scm (cppcheck)[arguments]: Add a phase to adjust
the expected output from some tests to match the adjusted upstream
output.

Change-Id: I4953f79479a2192fa1a428b4e2988729a05be679
2025-12-09 19:46:18 +02:00
Efraim Flashner c4d76205b6 gnu: cppcheck: Use system tinyxml2.
* gnu/packages/check.scm (cppcheck)[arguments]: Add configure-flag to
not use the bundled tinyxml2.
[inputs]: Add tinyxml2.

Change-Id: Id312cb2cdb9ffcee5234a045fb8315afae7d918b
2025-12-09 19:46:18 +02:00
Hugo Buddelmeijer 8d9372a851 gnu: tinyxml2: Update to 11.0.0.
* gnu/packages/xml.scm (tinyxml2): Update to 11.0.0.
[home-page]: Fix URL.

Change-Id: I8cd1c61c40ad766c4dac640dd71f72a1955c04d3
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-12-09 19:46:18 +02:00
Andreas Enge 2d894dcf17 gnu: Remove kfilemetadata-5.
* gnu/packages/kde-frameworks.scm (kfilemetadata-5): Delete variable.

Fixes: guix/guix#4155
Change-Id: I597ad034acd7f100659cb33ce65c50fdf39d2f4c
2025-12-09 15:55:40 +01:00
Andreas Enge adaada46d2 gnu: Remove threadweaver-5.
* gnu/packages/kde-frameworks.scm (threadweaver-5): Delete variable.

Fixes: guix/guix#4154
Change-Id: I582253fe72de7276b8838dbca2944f6b70e0d5c5
2025-12-09 15:54:26 +01:00
Andreas Enge 48996087cb gnu: Remove ksyntaxhighlighting-5.
* gnu/packages/kde-frameworks.scm (ksyntaxhighlighting-5): Delete variable.

Fixes: guix/guix#4153
Change-Id: Ic5c6af38421a2830d767ae73fd75339323d35766
2025-12-09 15:53:41 +01:00
Andreas Enge 1994b75de1 gnu: Remove kitemmodels-5.
* gnu/packages/kde-frameworks.scm (kitemmodels-5): Delete variable.

Fixes: guix/guix#4152
Change-Id: Ia4847cb1377d47560491fd413d9338e1b76e1d29
2025-12-09 15:52:49 +01:00
Andreas Enge c0c636db0a gnu: Remove kquickcharts-5.
* gnu/packages/kde-frameworks.scm (kquickcharts-5): Delete variable.

Fixes: guix/guix#4151
Change-Id: I1bca0a0533c942c0b44be7037f037b4257fcc2b1
2025-12-09 15:51:35 +01:00
Andreas Enge 194edf156f gnu: Remove kidletime-5.
* gnu/packages/kde-frameworks.scm (kidletime-5): Delete variable.

Fixes: guix/guix#4150
Change-Id: I615e8479339c8218dce9c7ee26748057826c3318
2025-12-09 15:50:40 +01:00
Andreas Enge e2cf2c8c6f gnu: Remove kwayland-integration.
* gnu/packages/kde-plasma.scm (kwayland-integration): Delete variable.

Change-Id: I23dc72abb280679b60418293faf107c0f6b80545
2025-12-09 15:49:50 +01:00
Gabriel Wicki 2ddbccc761 gnu: pyspice: Remove unneeded input ngspice.
* gnu/packages/electronics.scm (pyspice) [inputs]: Remove ngspice.

Change-Id: Ibcf6c6d7e0239617163e653b72a9e2db1812a7d5
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-09 10:16:30 +01:00
Laurent Gatto f664eb4ec8 etc: Add lgatto to bioinformatics team. 2025-12-09 08:24:49 +01:00
279 changed files with 198646 additions and 27570 deletions
+1
View File
@@ -68,6 +68,7 @@
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/etc/apparmor.d/tunables/guix
/etc/committer.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil
+1
View File
@@ -59,6 +59,7 @@ Mathieu Othacehe <mathieu.othacehe@parrot.com>
Mathieu Othacehe <othacehe@gnu.org>
Matthew James Kraai <kraai@ftbfs.org>
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
nikita <nikita@n0.is>
nikita <nikita@n0.is> ng0 <ng0@n0.is>
+1
View File
@@ -194,6 +194,7 @@ guix/scripts/import/go\.scm @guix/go
tests/import/go\.scm @guix/go
gnu/packages/hare\.scm @guix/hare
gnu/packages/hare-apps\.scm @guix/hare
gnu/packages/hare-xyz\.scm @guix/hare
guix/build-system/hare\.scm @guix/hare
guix/build/hare-build-system\.scm @guix/hare
+44 -46
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)
@@ -746,6 +748,14 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
# SELinux policy
nodist_selinux_policy_DATA = etc/guix-daemon.cil
# AppArmor profiles.
dist_apparmor_profile_DATA = \
etc/apparmor.d/guix \
etc/apparmor.d/guix-daemon
nodist_apparmor_profile_tunables_DATA = \
etc/apparmor.d/tunables/guix
EXTRA_DIST += \
.dir-locals.el \
.guix-authorizations \
@@ -763,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 \
@@ -781,6 +794,7 @@ EXTRA_DIST += \
etc/manifests/kernels.scm \
etc/manifests/release-minimal.scm \
etc/manifests/release-desktop.scm \
etc/manifests/release-user-packages.scm \
etc/manifests/source.scm \
etc/manifests/system-tests.scm \
etc/manifests/time-travel.scm \
@@ -1133,12 +1147,18 @@ system_flags = $(foreach system,$(1),-s $(system))
# 5. Build the installation and VM images. The images will run 'guix'
# corresponding to 'vX.Y.Z' + 1 commit, and they will install 'vX.Y.Z'.
#
# This 'release' target takes care of everything and copies the resulting
# files to $(releasedir).
# This is split into two targets, because a commit is made that has to be
# pushed to Guix.
# First, 'prepare-release' should be run, doing steps 1 and 2.
# Then, the resulting commit should be pushed so that it's available
# to be downloaded for the system images.
# Afterwards, the 'release' target takes care of the rest. This 'release'
# target takes care of everything and copies the resulting files to
# $(releasedir).
#
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
release: dist-with-updated-version all
prepare-release: dist-with-updated-version all
@if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \
exit 1 ; \
@@ -1156,48 +1176,26 @@ release: dist-with-updated-version all
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the binary release tarballs.
rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \
mv "guix-binary.$$system.tar.xz" \
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
done
# Build 'current-guix' to speed things up for the next step.
$(top_builddir)/pre-inst-env guix build \
-e '((@ (gnu packages package-management) current-guix))' \
$(call system_flags,$(GUIX_SYSTEM_INSTALLER_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the ISO installation images.
for system in $(GUIX_SYSTEM_INSTALLER_SYSTEMS) ; do \
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
image=`$(top_builddir)/pre-inst-env \
guix system image -t iso9660 \
--label="GUIX_$${system}_$(VERSION)" \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produce Guix installation image for $$system" >&2 ; \
exit 1 ; \
fi ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" \
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso" ; \
done
# Generate the VM images.
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
image=`$(top_builddir)/pre-inst-env \
guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
--save-provenance \
--system=$$system --fallback \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produce Guix VM image for $$system" >&2 ; \
exit 1 ; \
fi ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \
done
@echo
@echo "First step done! Source tarball is ready in $(releasedir)"
@echo "Now push the resulting commit and run `make release`."
@echo
# Make sure you've ran prepare-release prior to running release and pushed
# the commit to Guix. It might be pushed to any branch, such as version-X.Y.Z.
release: all
# Build the artifacts for current commit.
# Use time-machine for provenance.
$(MKDIR_P) "$(releasedir)"
@echo "Building guix inferior for current commit."
COMMIT="$$(git rev-parse HEAD)" && \
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)" && \
echo "Artifacts built! Copying to $(releasedir)" && \
cp -f "$$ARTIFACTS"/* "$(releasedir)"
@echo
@echo "Congratulations! All the release files are now in $(releasedir)."
@echo
+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>)
@@ -50,7 +50,7 @@
directory))
((_ . directory) directory))
(derivation->output-paths drv)))))
%final-inputs))
(%final-inputs system)))
(define (assert-valid-substitute substitute)
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
+16
View File
@@ -81,6 +81,15 @@ AC_ARG_WITH([selinux-policy-dir],
[selinux_policydir='${datadir}/selinux/'])
AC_SUBST([selinux_policydir])
AC_ARG_WITH([apparmor-profile-dir],
AS_HELP_STRING([--with-apparmor-profile-dir=DIR],
[name of the AppArmor profile directory]),
[apparmor_profiledir="$withval"],
[apparmor_profiledir='${sysconfdir}/apparmor.d'])
AC_SUBST([apparmor_profiledir])
apparmor_profile_tunablesdir='${apparmor_profiledir}/tunables'
AC_SUBST([apparmor_profile_tunablesdir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
@@ -189,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],
@@ -308,6 +323,7 @@ AC_CONFIG_FILES([Makefile
po/guix/Makefile.in
po/packages/Makefile.in
etc/guix-daemon.cil
etc/apparmor.d/tunables/guix
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
+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
+153 -88
View File
@@ -146,6 +146,7 @@ Copyright @copyright{} 2025 Artur Wroblewski@*
Copyright @copyright{} 2025 Edouard Klein@*
Copyright @copyright{} 2025 Rodion Goritskov@*
Copyright @copyright{} 2025 dan@*
Copyright @copyright{} 2025 Noé Lopez@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -769,66 +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 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}.
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}.
For Debian or derivatives such as Ubuntu or Trisquel, call:
@example
sudo apt install guix
@end example
Likewise, on openSUSE:
@example
sudo zypper install guix
@end example
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
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
@@ -845,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:
@@ -887,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
@@ -928,6 +912,7 @@ pre-built binaries.
* Build Environment Setup:: Preparing the isolated build environment.
* Daemon Offload Setup:: Offloading builds to remote machines.
* SELinux Support:: Using an SELinux policy for the daemon.
* AppArmor Support:: Using an AppArmor profile for the daemon.
@end menu
@node Build Environment Setup
@@ -1037,6 +1022,12 @@ When using this option, you only need to create one user account, and
--system guix-daemon
@end example
@quotation Warning
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}.
@end quotation
In this configuration, @file{/gnu/store} is owned by the
@code{guix-daemon} user.
@@ -1100,6 +1091,8 @@ systemctl daemon-reload
systemctl start guix-daemon
@end example
If your system has AppArmor enabled, @pxref{AppArmor Support}.
@quotation Warning
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:
@@ -1529,6 +1522,43 @@ installation time whenever the Guix package that provides the
effectively running @code{guix-daemon} executable is upgraded.
@end enumerate
@node AppArmor Support
@subsection AppArmor Support
@cindex AppArmor
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.
To know if this applies to you, check if the
@code{kernel.apparmor_restrict_unprivileged_userns} kernel parameter is
enabled.
@subsubsection Installing the AppArmor profile
@cindex AppArmor, profile installation
@quotation Note
The @code{guix-install.sh} binary installation script offers to perform
the steps below for you (@pxref{Binary Installation}).
@end quotation
Run these commands as root to install the profile:
@example
export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
apparmor_parser -r /etc/apparmor.d/guix-daemon
apparmor_parser -r /etc/apparmor.d/guix
@end example
After this, the build daemon will be able to function correctly.
@node Invoking guix-daemon
@section Invoking @command{guix-daemon}
@cindex @command{guix-daemon}
@@ -2119,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,
@@ -13265,6 +13296,11 @@ be a list of keywords with values accepted by procedure
@end example
@end deffn
@deffn {REPL command} graft? @var{graft?}
Set whether grafts should be performed as part of the build. Equivalent
to @code{--no-grafts} argument to @code{guix build}.
@end deffn
@deffn {REPL command} lower @var{object}
Lower @var{object} into a derivation or store file name and return it.
@end deffn
@@ -18898,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
@@ -18929,7 +18965,7 @@ options, along with @option{--allow-discards}:
(arguments '(#:allow-discards? #t
#:extra-options
("--perf-no_read_workqueue"
"--perf-no_write_workqueue")))))
"--perf-no_write_workqueue"))))
@end lisp
@end table
@@ -19852,6 +19888,11 @@ symlink:
This procedure is meant for @code{/bin/sh}, @code{/usr/bin/env} and
similar targets. In particular, use for targets under @code{/etc} might
not work as expected if the target is managed by Guix in other ways.
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.
@end deffn
@defvar host-name-service-type
@@ -24827,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
@@ -26340,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}
@@ -28336,30 +28366,47 @@ Additional command line options to pass to @code{memcached}.
@subsubheading Redis
@uref{https://redis.io/, Redis} is an in-memory data store used
by millions of developers as a cache, vector database, document
database, streaming engine, and message broker. Redis has built-in
replication and different levels of on-disk persistence. It supports
complex data types (for example, strings, hashes, lists, sets, sorted
sets, and JSON), with atomic operations defined on those data types.
@defvar redis-service-type
This is the service type for the @uref{https://redis.io/, Redis}
key/value store, whose value is a @code{redis-configuration} object.
Type of the service that runs @command{redis}, an in-memory data store.
The value for this service is a @code{<redis-configuration>} object.
@end defvar
@c %start of fragment
@deftp {Data Type} redis-configuration
Data type representing the configuration of redis.
Available @code{redis-configuration} fields are:
@table @asis
@item @code{redis} (default: @code{redis})
@item @code{redis} (default: @code{redis}) (type: package)
The Redis package to use.
@item @code{bind} (default: @code{"127.0.0.1"})
@item @code{bind} (default: @code{"127.0.0.1"}) (type: string)
Network interface on which to listen.
@item @code{port} (default: @code{6379})
@item @code{port} (default: @code{6379}) (type: number)
Port on which to accept connections on, a value of 0 will disable
listening on a TCP socket.
@item @code{working-directory} (default: @code{"/var/lib/redis"})
@item @code{working-directory} (default: @code{"/var/lib/redis"}) (type: string)
Directory in which to store the database and related files.
@item @code{config-file} (type: maybe-string)
Default location for config file.
@end table
@end deftp
@c %end of fragment
@node Mail Services
@subsection Mail Services
@@ -45481,7 +45528,7 @@ A string representing the OCI image tag. Defaults to @code{latest}.
@item @code{value} (type: oci-lowerable-image)
A @code{manifest} or @code{operating-system} record that will be lowered
into an OCI compatible tarball. Otherwise this field's value can be a
gexp or a file-like object that evaluates to an OCI compatible tarball.
file-like object that evaluates to an OCI compatible tarball.
@item @code{pack-options} (default: @code{'()}) (type: list)
An optional set of keyword arguments that will be passed to the
@@ -47776,7 +47823,9 @@ 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 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.
@cindex docker-image, creating docker images
When using the @code{docker} image type, a Docker image is produced.
@@ -49217,6 +49266,11 @@ 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.
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.
@cindex one-shot services, for the Shepherd
@item @code{one-shot?} (default: @code{#f})
Whether this service is @dfn{one-shot}. One-shot services stop immediately
@@ -54695,7 +54749,18 @@ Build an image based on the @code{efi32-disk-image} image.
@defvar qcow2-image-type
Build an image based on the @code{mbr-disk-image} image but with the
@code{compressed-qcow2} image format.
@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.
@end defvar
@defvar qcow2-gpt-image-type
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.
@end defvar
@defvar iso-image-type
+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
+12
View File
@@ -0,0 +1,12 @@
abi <abi/4.0>,
include <tunables/global>
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
# 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,
}
+88
View File
@@ -0,0 +1,88 @@
abi <abi/4.0>,
include <tunables/global>
include <tunables/guix>
profile guix-daemon @{guix_storedir}/*-{guix-daemon,guix}-*/bin/guix-daemon flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
userns,
signal,
capability sys_admin,
capability net_admin,
capability sys_chroot,
capability setgid,
capability chown,
network dgram,
umount,
mount,
pivot_root,
# Paths inside build chroot
/real-root/ w,
/ w,
@{guix_localstatedir}/guix/** rwk,
/var/log/guix/** w,
owner @{PROC}/@{pid}/{fd/,environ} r,
owner @{PROC}/@{pid}/oom_score_adj w,
owner @{PROC}/@{pid}/uid_map rw,
owner @{PROC}/@{pid}/gid_map rw,
owner @{PROC}/@{pid}/setgroups w,
@{guix_storedir}/ r,
@{guix_storedir}/** rwlmk,
@{guix_storedir}/*/bin/guile cx -> guix-builder,
@{guix_storedir}/*-guix-command cx -> guix-helper,
@{guix_storedir}/*-guix-*/bin/guix cx -> guix-helper,
@{etc_rw}/nsswitch.conf r,
@{etc_rw}/passwd r,
@{etc_rw}/group r,
owner /tmp/** rwl,
owner /var/tmp/** rwl,
/usr/bin/newgidmap Ux,
# Site-specific additions and overrides. See local/README for details.
include if exists <local/guix-daemon>
profile guix-builder flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
signal (receive),
@{guix_storedir}/** rwlmkux,
owner /tmp/** rw,
@{PROC}/@{pid}/fd/ r,
/disconnected/** rw,
}
# This is for any time guix is called by the daemon as a helper:
# - guix download
# - guix discover
# - guix gc --list-busy
# - probably more?
profile guix-helper flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
include <abstractions/nameservice>
signal (receive),
ptrace (read) peer=guix-daemon,
/disconnected/run/dbus/system_bus_socket rw,
dbus (send, receive),
@{guix_localstatedir}/guix/discover/ rw,
@{guix_localstatedir}/guix/discover/* rw,
@{guix_localstatedir}/guix/substitute/ rw,
@{guix_localstatedir}/guix/substitute/** rwk,
@{guix_sysconfdir}/guix/** r,
@{guix_storedir}/** rwlmix,
@{PROC}/ r,
owner @{PROC}/@{pid}/{fd/,environ} r,
}
}
+5
View File
@@ -0,0 +1,5 @@
@{guix_storedir} = @storedir@
@{guix_sysconfdir} = @guix_sysconfdir@
@{guix_localstatedir} = @guix_localstatedir@
include if exists <tunables/guix.d>
+27 -2
View File
@@ -175,6 +175,10 @@
(file (execute
execute_no_trans read write open entrypoint map
getattr link unlink)))
;; Needed to execute the 'newgidmap' helper.
(allow guix_daemon_t
bin_t
(file (execute execute_no_trans map)))
;; Remounting /gnu/store read-write.
(allow guix_daemon_t
@@ -322,7 +326,7 @@
map
getattr setattr
unlink
open read write)))
open read write append)))
(allow guix_daemon_t
guix_daemon_conf_t
(lnk_file (create getattr rename unlink read)))
@@ -367,7 +371,7 @@
;; Allow use of user namespaces
(allow guix_daemon_t
self
(cap_userns (sys_admin net_admin sys_chroot)))
(cap_userns (setgid sys_admin net_admin sys_chroot)))
(allow guix_daemon_t
self
(user_namespace (create)))
@@ -451,6 +455,27 @@
vnc_port_t
(tcp_socket (name_bind)))
;; 'guix gc' needs to go through /proc entries for all processes that are
;; running. Strictly speaking, it means guix-daemon needs access to all
;; process types in the SELinux policy. In practice, only processes from
;; programs in the /gnu/store are relevant for finding roots for garbage
;; collection. Since Guix currently doesn't install any SELinux policy for
;; its packages, we can assume that all the processes it needs to access run
;; as unconfined_t.
;;
;; FIXME: This doesn't stop 'guix gc' from generating a lot of unnecessary
;; AVC denied audit messages. Perhaps guix-daemon could test whether it has
;; access to the proc entry before trying to access it?
(allow guix_daemon_t
unconfined_t
(dir (search)))
(allow guix_daemon_t
unconfined_t
(file (read)))
(allow guix_daemon_t
unconfined_t
(lnk_file (read)))
;; I guess sometimes it needs random numbers
(allow guix_daemon_t
random_device_t
+6
View File
@@ -14,6 +14,12 @@ ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daem
--substitute-urls='@GUIX_SUBSTITUTE_URLS@'
Environment='GUIX_STATE_DIRECTORY=@localstatedir@/guix' 'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
# Stop the gnu-store.mount so that the daemon can capture the store as
# read-write in its private mount namespace.
# See <https://codeberg.org/guix/guix/issues/4744>.
ExecStartPre=-+systemctl stop gnu-store.mount
ExecStartPost=-+systemctl start gnu-store.mount --no-block
# Run under a dedicated unprivileged user account.
User=guix-daemon
+102 -18
View File
@@ -17,6 +17,7 @@
# Copyright © 2024 Tomas Volf <~@wolfsden.cz>
# Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
# Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright © 2025 Noé Lopez <noelopez@free.fr>
#
# This file is part of GNU Guix.
#
@@ -105,10 +106,12 @@ DEBUG=0
GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
# The following associative array holds set of GPG keys used to sign the
# releases, keyed by their corresponding Savannah user ID.
# releases, keyed by their corresponding Codeberg user name.
declare -A GPG_SIGNING_KEYS
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
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"
# ------------------------------------------------------------------------------
#+UTILITIES
@@ -203,6 +206,7 @@ chk_gpg_keyring()
for user_id in "${!GPG_SIGNING_KEYS[@]}"; do
gpg_key_id=${GPG_SIGNING_KEYS[$user_id]}
codeberg_username=$user_id
# Without --dry-run this command will create a ~/.gnupg owned by root on
# systems where gpg has never been used, causing errors and confusion.
if gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
@@ -211,20 +215,39 @@ chk_gpg_keyring()
if prompt_yes_no "${INF}The following OpenPGP public key is \
required to verify the Guix binary signature: $gpg_key_id.
Would you like me to fetch it for you?"; then
# Use a reasonable time-out here so users don't report silent
# freezes when Savannah goes out to lunch, as has happened.
if wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
--timeout=30 --no-verbose -O- | gpg --import -; then
if wget "https://codeberg.org/$codeberg_username.gpg" \
--tries=1 --timeout=30 --no-verbose -O- | gpg --import -; then
continue
fi
key_obtained=false
# Try to fetch keys from an available keyserver
for key_server in $PUBLIC_KEYSERVERS; do
if gpg --keyserver $key_server --recv-key $gpg_key_id; then
key_obtained=true
break
fi
done
if $key_obtained; then
continue
fi
fi
# If we reach this point, the key is (still) missing. Report further
# missing keys, if any, but then abort the installation.
_err "Missing OpenPGP public key ($gpg_key_id).
Fetch it with this command:
Fetch it with codeberg username:
wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -O - | \
sudo -i gpg --import -"
wget \"https://codeberg.org/$codeberg_username.gpg\" -O - | \
sudo -i gpg --import -
If this fails, try to fetch it via a keyserver:
for key_server in $PUBLIC_KEYSERVERS; do
if sudo -i gpg --keyserver $key_server --recv-key $gpg_key_id; then
break
fi
done"
exit_flag=yes
done
if [ "$exit_flag" = yes ]; then
@@ -755,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}"
@@ -771,12 +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"
# Expose the latest Guix modules to Guile so guix shell and repls spawned by
# e.g. Geiser work out of the box.
export GUILE_LOAD_PATH="$GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="$GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
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"
@@ -798,6 +817,11 @@ if [ -L "$GUIX_PROFILE" ]; then
*$GUIX_PROFILE/share/man*) ;;
*) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
esac
case $XDG_DATA_DIRS in
*$GUIX_PROFILE/share*) ;;
*) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
esac
fi
# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
@@ -892,6 +916,64 @@ sys_maybe_setup_selinux()
restorecon -R /gnu /var/guix
}
sys_maybe_setup_apparmor()
{
if ! [ -f /sys/module/apparmor/parameters/enabled ]
then
return
fi
if ! command -v apparmor_parser &> /dev/null
then
return
fi
prompt_yes_no "Install AppArmor profile that might be required to run guix-daemon?" \
|| return 0
local var_guix=/var/guix/profiles/per-user/root/current-guix
local apparmor_sources="${var_guix}/etc/apparmor.d/"
if ! [ -d "$apparmor_sources" ]
then
_err "This version of Guix doesnt contain AppArmor profiles."
return
fi
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
apparmor_parser --warn=all -r /etc/apparmor.d/guix-daemon
apparmor_parser --warn=all -r /etc/apparmor.d/guix
_msg_pass "apparmor profiles installed and loaded"
}
sys_delete_apparmor_profiles()
{
# Not a big deal if the apparmor_parser commands fail as they only apply
# for the current boot, we still want to go on and remove the files.
if [ -f "/etc/apparmor.d/guix" ]
then
_msg_info "removing /etc/apparmor.d/guix"
apparmor_parser -R /etc/apparmor.d/guix || true
rm -f "/etc/apparmor.d/guix"
fi
if [ -f "/etc/apparmor.d/guix-daemon" ]
then
_msg_info "removing /etc/apparmor.d/guix-daemon"
apparmor_parser -R /etc/apparmor.d/guix-daemon || true
rm -f "/etc/apparmor.d/guix-daemon"
fi
if [ -f "/etc/apparmor.d/tunables/guix" ]
then
_msg_info "removing /etc/apparmor.d/tunables/guix"
rm -f "/etc/apparmor.d/tunables/guix"
fi
}
sys_delete_init_profile()
{
_msg_info "removing /etc/profile.d/zzz-guix.sh"
@@ -969,7 +1051,6 @@ main_install()
chk_init_sys
add_init_sys_require
chk_require "${REQUIRE[@]}"
chk_gpg_keyring
chk_sys_arch
chk_sys_nscd
chk_existing
@@ -980,6 +1061,7 @@ main_install()
tmp_path="$(mktemp -t -d guix.XXXXXX)"
if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
chk_gpg_keyring
guix_get_bin_list "${GNU_URL}"
guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
@@ -994,6 +1076,7 @@ main_install()
sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
sys_create_build_user
sys_maybe_setup_selinux
sys_maybe_setup_apparmor
sys_enable_guix_daemon
sys_authorize_build_farms
sys_create_init_profile
@@ -1027,6 +1110,7 @@ main_uninstall()
sys_delete_guix_daemon
# stop people from accessing their profiles.
sys_delete_user_profiles
sys_delete_apparmor_profiles
# kill guix off all the guts of guix
sys_delete_store
# clean up the system
+9 -5
View File
@@ -71,18 +71,21 @@ TARGET."
"connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
"linux-libre" "grub-hybrid")))
(define %system-gui-packages
(define (%system-gui-packages target)
;; Key packages proposed by the Guix System installer.
(append (map specification->package
'(;; build system `python' does not support cross builds
;"gnome" "xfce" "mate" "openbox"
;"gnome" "xfce" "mate" "openbox"
"awesome"
"i3-wm" "i3status" "dmenu" "st"
"ratpoison" "xterm"
;; build system `emacs' does not support cross builds
;"emacs-exwm" "emacs-desktop-environment"
;"emacs-exwm" "emacs-desktop-environment"
"emacs"))
%default-xorg-modules))
;; NOTE: %default-xorg-modules depends on system.
(parameterize
((%current-target-system target))
%default-xorg-modules)))
(define %packages-to-cross-build
;; Packages that must be cross-buildable from x86_64-linux.
@@ -151,7 +154,8 @@ TARGET."
;; With a graphical environment:
(if (or (target-x86-32? target)
(target-aarch64? target))
%system-gui-packages
;; %system-gui-packages depends on the system.
(%system-gui-packages target)
'()))))
(fold delete (map platform-system->target (systems))
'(;; Disable cross-compilation to self:
+165
View File
@@ -0,0 +1,165 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This manifest is a list of packages that user care about (collected via an
;;; online form). It corresponds to the “Important packages” of GCD 005.
(specifications->manifest
(list
"0ad"
"agda"
"alacritty"
"ardour"
"autoconf"
"automake"
"blender"
"borg"
"btrfs-progs"
"certbot"
"chez-scheme"
"clang-toolchain"
"cryptsetup"
"dillo"
"direnv"
"docker-cli"
"dovecot"
"emacs"
"emacs-exwm"
"emacs-pgtk"
"evince"
"fcitx5"
"file"
"fish"
"foot"
"fzf"
"gajim"
"gallery-dl"
"gcc-toolchain"
"getmail6"
"gettext"
"ghc-xmonad-contrib"
"gimp"
"git"
"gmp"
"gnome"
"gnupg"
"godot"
"gpaste"
"guile"
"guile-json"
"hatch"
"help2man"
"helvum"
"hexchat"
"hyprland"
"icecat"
"idris"
"imagemagick"
"imapfilter"
"jami"
"k3b"
"kakoune"
"keepassxc"
"krita"
"ksoloti-patcher"
"libreoffice"
"librewolf"
"libsecret"
"libtool"
"libvirt"
"llama-cpp"
"mariadb"
"luanti"
"mpc"
"mpfr"
"mplayer"
"mpv"
"mullvadbrowser"
"neovim"
"nginx"
"niri"
"nix"
"node"
"notmuch"
"obs"
"offlineimap3"
"opencv"
"openmpi"
"opensmtpd"
"openssh"
"openttd"
"pandoc"
"password-store"
"pavucontrol"
"php"
"picard"
"pipewire"
"pkg-config"
"plasma"
"plasma-desktop"
"po4a"
"podman"
"postgresql"
"python"
"python-lxml"
"python-pycryptodome"
"qemu"
"ranger"
"retroarch"
;;"rocm"
"rofi"
"rspamd"
"rsync"
"screen"
"slurm"
"sqlite"
"sqlitebrowser"
"strace"
"strawberry"
"syncthing"
"taisei"
"telegram-desktop"
"texlive-babel"
"texlive-babel-english"
"texlive-babel-french"
"texlive-babel-german"
"texlive-collection-latex"
"texlive-collection-latexrecommended"
"texlive-collection-xetex"
"texlive-pdfjam"
"tmux"
"tuba"
"ungoogled-chromium"
"unison"
"unzip"
"uv"
"viewnior"
"virt-manager"
"waybar"
"wine"
"wine64"
"wireguard-tools"
"xmobar"
"xmonad"
"xournal"
"xournalpp"
"xpdf"
"yt-dlp"
"zig"
"zip"
"zsh"))
+67
View File
@@ -42,10 +42,75 @@
(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")
(de "Linux-libre 5.4 nicht mehr unterstützt")
(pt "Linux-libre 5.4 não é mais suportado"))
(body
(en "The linux-libre 5.4 kernel series is no longer supported
upstream and will be removed from GNU Guix soon:
https://www.kernel.org/category/releases.html
This kernel series was first added to Guix in 2019 by Mark Weaver, at version
5.4.5. After ~297 updates delivered to Guix users, we have deployed the final
update, 5.4.302.
The next kernel series removals are scheduled for December 2026, when the Linux
long-term support team is planning to stop supporting four different kernel
series: 6.12, 6.6, 5.15, and 5.10.")
(de "Die Versionsreihe 5.4 des Linux-libre-Kernels wird von dessen
Anbieter nicht mehr unterstützt und wird bald aus GNU Guix entfernt werden:
https://www.kernel.org/category/releases.html
Diese Kernel-Reihe wurde ursprünglich 2019 zu Guix hinzugefügt von Mark Weaver
mit Version 5.4.5. Nach ~297 Aktualisierungen, die Guix seinen Nutzern
bereitgestellt hat, haben wir nun die letzte Aktualisierung
ausgeliefert, 5.4.302.
Der weitere Plan von Linux Team für Langzeitunterstützung sieht vor, als
Nächstes die Unterstützung für vier verschiedene Kernel-Reihen im Dezember 2026
zu beenden: 6.12, 6.6, 5.15 und 5.10.")
(pt "A série 5.4 do kernel linux-libre não é mais suportada pelo
fornecedor e será removida do GNU Guix em breve:
https://www.kernel.org/category/releases.html
Esta série de kernels foi adicionada inicialmente ao Guix em 2019 por Mark
Weaver, na versão 5.4.5. Após ~297 atualizações entregues aos usuários do
Guix, implantamos a atualização final, 5.4.302.
As próximas remoções de séries do kernel estão agendadas para dezembro de
2026, quando o time de suporte de longo prazo planeja interromper o suporte a
quatro séries diferentes do kernel: 6.12, 6.6, 5.15 e 5.10.")))
(entry (commit "14bb0192fde79909999c3880b6b66aa22499eb11")
(title
(en "Linux-libre 6.16 removed from Guix")
(de "Linux-libre 6.16 wurde aus Guix entfernt")
(pt "Linux-libre 6.16 removido do Guix")
(zh "Linux-libre 6.16 已从 Guix 中移除"))
(body
(en "The linux-libre 6.16 kernel series has been removed from Guix, as
@@ -54,6 +119,8 @@ default.")
(de "Die Versionsreihe 6.16 des Linux-libre-Kernels wurde aus GNU Guix
entfernt, weil sie von dessen Anbieter nicht mehr unterstützt wird.
Kernel-Versionsreihe 6.17 ist jetzt vorgegeben.")
(pt "A série 6.16 do kernel linux-libre foi removida do Guix, dado
que não é mais suportada pelo fornecedor. A série 6.17 é o padrão atual")
(zh "由于上游不再支持GNU Guix 已移除 6.16 系列的 linux-libre 内核6.17
内核系列现已成为默认版本")))
+15 -5
View File
@@ -702,6 +702,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(team 'hare
#:name "Hare"
#:scope (list "gnu/packages/hare.scm"
"gnu/packages/hare-apps.scm"
"gnu/packages/hare-xyz.scm"
"guix/build-system/hare.scm"
"guix/build/hare-build-system.scm")))
@@ -1276,9 +1277,9 @@ the \"texlive\" importer."
games)
(define-member (person "Laurent Gatto"
"laurent.gatto@gmail.com"
"lgatto@protonmail.ch"
"lgatto")
r)
r bioinformatics)
(define-member (person "Nicolas Goaziou"
"guix@nicolasgoaziou.fr"
@@ -1327,8 +1328,7 @@ the \"texlive\" importer."
(define-member (person "Hilton Chain"
"hako@ultrarare.space"
"hako")
emacs home localization mozilla rust zig)
"hako"))
(define-member (person "Noé Lopez"
"noelopez@free.fr"
@@ -1392,7 +1392,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap hpc rust science)
bootstrap hpc python rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1409,6 +1409,16 @@ the \"texlive\" importer."
"delitrem")
beam)
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
python)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
"tinystar")
hare)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+2 -2
View File
@@ -16,8 +16,8 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using the cargo-build-system.
;;; It is used to assist continuous integration of the rust-team branch.
;;; This file returns a manifest of packages built using the hare-build-system.
;;; It is used to assist continuous integration of the hare-team branch.
(use-modules (guix packages)
(guix profiles)
+40
View File
@@ -0,0 +1,40 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using any one of the
;;; asdf build systems. It is used to assist continuous integration of
;;; the lisp-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'asdf/sbcl (build-system-name (package-build-system package)))
(eq? 'asdf/ecl (build-system-name (package-build-system package)))
(eq? 'asdf/clasp (build-system-name (package-build-system package)))
(string=? "clasp-cl" (package-name package))
(string=? "ecl" (package-name package))
(string=? "sbcl" (package-name package)))
(cons package lst)
lst))
'())))
+35
View File
@@ -0,0 +1,35 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using the python-build-system.
;;; It is used to assist continuous integration of the python-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'python (build-system-name (package-build-system package)))
(eq? 'pyproject (build-system-name (package-build-system package)))
(string=? "python" (package-name package)))
(cons package lst)
lst))
'())))
+413
View File
@@ -0,0 +1,413 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This manifest returns build artfacts for all supported systems. This can be
;;; controlled by SUPPORTED_SYSTEMS environment variable. For the list of
;;; artifacts produced, see artifacts-for-system and the `<thing>-for-system?`
;;; procedures. NOTE: the --system argument does not change the system for which
;;; the resulting package is built. They return different definitions of the
;;; images. To change the system, pass different SUPPORTED_SYSTEMS.
(use-modules (gnu compression)
(gnu image)
(gnu packages graphviz)
(gnu packages imagemagick)
(gnu packages package-management)
(gnu packages perl)
(gnu services)
(gnu system image)
(gnu system install)
(gnu system)
(guix build-system gnu)
(guix build-system trivial)
(guix channels)
(guix gexp)
(guix git)
(guix grafts)
(guix memoization)
(guix monads)
(guix packages)
(guix profiles)
(guix records)
(guix scripts pack)
(guix store)
(guix ui)
(guix utils)
(ice-9 format)
(ice-9 match)
(srfi srfi-9)
(srfi srfi-26)
(srfi srfi-35))
;; For easier testing, use (snapshot) guix package from (gnu packages
;; package-management). Otherwise, the package is updated to current commit and
;; might not be substitutable, leading to longer build times.
(define %use-snapshot-package?
(string=? (or (getenv "GUIX_USE_SNAPSHOT_PACKAGE") "no") "yes"))
(define (%guix-version)
;; NOTE: while package-version guix is not correct in general,
;; it is correct for the release itself. At that time, the
;; guix package is updated to vX.Y.Z and it's the version
;; we want to use.
(package-version guix))
(define (%vm-image-path)
(search-path %load-path "gnu/system/examples/vm-image.tmpl"))
(define (%vm-image-efi-path)
(search-path %load-path "gnu/system/examples/vm-image-efi.tmpl"))
;; monadic record and gexp-compiler
;; taken from Inria
;; https://gitlab.inria.fr/numpex-pc5/wp3/guix-images/-/blob/17bf4585abc2d637faa5d339436e778b7c9fb1ce/modules/guix-hpc/packs.scm
;; XXX: The <monadic> hack below will hopefully become unnecessary once the
;; (guix scripts pack) interface switches to declarative style--i.e.,
;; file-like objects.
(define-record-type <monadic>
(monadic->declarative mvalue)
monadic?
(mvalue monadic-value))
(define-gexp-compiler (monadic-compiler (monadic <monadic>) system target)
(monadic-value monadic))
;; The tarball should be the same for every system.
;; Still, we need to decide what system to build it
;; for, so use the one that CI has most resources for.
(define (source-tarball-for-system? system)
(member system
'("x86_64-linux")))
(define (iso-for-system? system)
(member system
'("x86_64-linux" "i686-linux" "aarch64-linux")))
(define (qcow2-for-system? system)
(member system
'("x86_64-linux" "aarch64-linux")))
(define* (qcow2-gpt-for-system? system)
(string=? system "aarch64-linux"))
(define (copy-/etc/config.scm config)
"Copy the configuration.scm of the operating system to /etc/config.scm, for
user's convenience. The file has to be writable, not a link to the store, so
etc-service-type can't be used here. CONFIG is a pair of strings, (FROM . TO).
The config will be copied from FROM to TO."
(match config
((from . to)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(when (not (file-exists? #$to))
(copy-file #$from #$to)
(make-file-writable #$to)))))
(_ (raise
(formatted-message-string
(G_ "unexpected config parameter, should be pair of strings: ~a"
config))))))
(define copy-/etc/config.scm-service-type
(service-type (name 'copy-/etc/config.scm)
(description
"Copy the system configuration file to /etc/config.scm.")
(extensions (list (service-extension activation-service-type
copy-/etc/config.scm)))
(default-value (cons "/run/current-system/configuration.scm"
"/etc/config.scm"))))
(define (operating-system-with-/etc/config.scm os)
"Copy the system configuration file to writable /etc/config.scm on first boot."
(operating-system
(inherit os)
(services (cons (service copy-/etc/config.scm-service-type)
(operating-system-user-services os)))))
(define (simple-provenance-entry config-file)
"Return system entries describing the operating system config, provided
through CONFIG-FILE."
(mbegin %store-monad
(return `(("configuration.scm"
,(local-file (assume-valid-file-name config-file)
"configuration.scm"))))))
;; This is mostly taken from provenance-service-type from (gnu services),
;; but it provides only configuration.scm, not channels.scm. This is
;; to get the same derivations for both Cuirass and local builds.
;; In the future, provenance-service-type could be adapted to support
;; this use case as well.
(define simple-provenance-service-type
(service-type (name 'provenance)
(extensions
(list (service-extension system-service-type
simple-provenance-entry)))
(default-value #f) ;the OS config file
(description
"Store configuration.scm of the system in the system
itself.")))
(define* (operating-system-with-simple-provenance
os
#:optional
(config-file
(operating-system-configuration-file
os)))
"Return a variant of OS that stores its CONFIG-FILE. This is similar to
`operating-system-with-provenance`, but it does copy only the
configuration.scm."
(operating-system
(inherit os)
(services (cons (service simple-provenance-service-type config-file)
(operating-system-user-services os)))))
(define (guix-package-commit guix)
;; Extract the commit of the GUIX package.
(match (package-source guix)
((? channel? source)
(channel-commit source))
(_
(apply (lambda* (#:key commit #:allow-other-keys) commit)
(package-arguments guix)))))
;; NOTE: Normally, we would use (current-guix), along with url
;; 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.
(define (guix-package/with-commit guix commit)
"Use the guix from (gnu packages package-management),
but override its commit to the specified version. Make sure
to also override the channel commit to have the correct
provenance."
(let ((scm-version (car (string-split (package-version guix) #\-))))
(package
(inherit guix)
(version (string-append scm-version "." (string-take commit 7)))
(source (git-checkout
(url (channel-url %default-guix-channel))
(commit commit)))
(arguments
(substitute-keyword-arguments (package-arguments guix)
((#:configure-flags flags '())
#~(cons*
(string-append "--with-channel-commit=" #$commit)
(filter (lambda (flag)
(not (string-prefix? "--with-channel-commit=" flag)))
#$flags))))))))
(define guix-for-images
(mlambda (system)
(cond
;; For testing purposes, use the guix package directly.
(%use-snapshot-package? guix)
;; Normally, update the guix package to current commit.
(else
(guix-package/with-commit guix (guix-package-commit (current-guix)))))))
(define %binary-tarball-compression "xz")
;; Like guix pack -C xz -s --localstatedir --profile-name=current-guix guix
(define* (binary-tarball-for-system system #:key (extra-packages '()))
(let* ((base-name (string-append "guix-binary-" (%guix-version) "." system))
(manifest (packages->manifest (cons* guix extra-packages)))
(profile (profile (content manifest)))
(inputs `(("profile" ,profile)))
(compression %binary-tarball-compression))
(manifest-entry
(name (string-append base-name ".tar." compression))
(version (%guix-version))
(item (monadic->declarative
(self-contained-tarball
base-name profile
#:profile-name "current-guix"
#:compressor (lookup-compressor compression)
#:localstatedir? #t))))))
;; Like guix system image -t iso9660 \
;; --label="GUIX_$${system}_$(VERSION)" gnu/system/install.scm
(define* (iso-for-system system)
(let* ((name (string-append
"guix-system-install-" (%guix-version) "." system ".iso"))
(base-os (make-installation-os
#:grub-displayed-version (%guix-version)
#:efi-only? (string=? system "aarch64-linux")))
(base-image (os->image base-os #:type iso-image-type))
(label (string-append "GUIX_" system "_"
(if (> (string-length (%guix-version)) 7)
(string-take (%guix-version) 7)
(%guix-version)))))
(manifest-entry
(name name)
(version (%guix-version))
(item (system-image
(image-with-label
(image
(inherit base-image)
(name (string->symbol name)))
label))))))
;; Like guix system image -t qcow2 gnu/system/examples/vm-image.tmpl
(define* (qcow2-for-system system)
(let* ((name (string-append
"guix-system-vm-image-" (%guix-version) "." system ".qcow2"))
(base-os-path
(if (qcow2-gpt-for-system? system)
(%vm-image-efi-path)
(%vm-image-path)))
(target-image-type
(if (qcow2-gpt-for-system? system)
qcow2-gpt-image-type
qcow2-image-type))
(base-os
(operating-system-with-/etc/config.scm
(operating-system-with-simple-provenance
(load base-os-path) base-os-path)))
(base-image (os->image base-os #:type target-image-type)))
(manifest-entry
(name name)
(version (%guix-version))
(item (system-image
(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)
(let ((guix (package
(inherit guix)
(native-inputs
(modify-inputs (package-native-inputs guix)
;; graphviz-minimal -> graphviz
(replace "graphviz" graphviz)
(append imagemagick)
(append perl))))))
(manifest-entry
(name (string-append "guix-" (%guix-version) ".tar.gz"))
(version (package-version guix))
(item (dist-package
guix
;; Guix is built from git source, not from tarball.
;; So it's fine to use its source directly.
(package-source guix))))))
(define* (manifest-entry-with-parameters system entry
#:key
(guix-for-images-proc guix-for-images))
(manifest-entry
(inherit entry)
(item
(with-parameters
((%current-system system)
(%current-target-system #f)
(current-guix-package (guix-for-images-proc system)))
(manifest-entry-item entry)))))
(define* (manifest-with-parameters system manifest
#:key
(guix-for-images-proc guix-for-images))
"Returns entries in the manifest accompanied with %current-system,
%current-target-sytem and current-guix-package parameters."
(make-manifest
(map (cut manifest-entry-with-parameters system <>
#:guix-for-images-proc guix-for-images-proc)
(manifest-entries manifest))))
(define (artifacts-for-system/nonparameterized system)
"Get all artifacts for given system. This will always include the
guix-binary tarball and optionally iso and/or qcow2 images."
(manifest
(append
(list
(binary-tarball-for-system system))
;; TODO: After source tarball generation is ready, uncomment.
;; (if (source-tarball-for-system? system)
;; (list (guix-source-tarball))
;; '())
(if (iso-for-system? system)
(list (iso-for-system system))
'())
(if (qcow2-for-system? system)
(list (qcow2-for-system system))
'()))))
(define* (artifacts-for-system system
#:key
(guix-for-images-proc guix-for-images))
"Collects all artifacts for a system. Gives them the proper %current-system
and %current-target-system parameters, so the --system passed on CLI is
irrelevant."
;; NOTE: parameterizing current system, because the tarball seems to somehow
;; depend on it early on. I haven't investigated it, but seems like a bug. Could
;; it be the gexp->derivation + monadic->declarative, not passing down the
;; system? Symptom: guix build --system=x86_64 -m artifacts-manifest.scm and
;; guix build --system=i686-linux -m artifacts-manifest.scm gives out different
;; results without the parameterization.
(parameterize
((%current-system system)
(%current-target-system #f)
(current-guix-package (guix-for-images-proc system)))
(manifest-with-parameters
system
(artifacts-for-system/nonparameterized system)
#:guix-for-images-proc guix-for-images-proc)))
(define (manifest->union manifest)
"Makes a union that will be a folder with all the entries symlinked. This
is different from a profile as it expects the entries are just simple files
and symlinks them by their manifest-entry-name."
(let ((entries (manifest-entries manifest)))
(computed-file
"artifacts-union"
(with-imported-modules '((guix build union)
(guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$output)
(for-each
(lambda* (entry)
(symlink (cdr entry)
(string-append #$output "/" (car entry))))
(list #$@(map (lambda (entry)
#~(cons
#$(manifest-entry-name entry)
#$(manifest-entry-item entry)))
entries))))))))
(define %supported-systems
(or (and
(getenv "SUPPORTED_SYSTEMS")
(string-split (getenv "SUPPORTED_SYSTEMS") #\ ))
'("x86_64-linux" "i686-linux"
"armhf-linux" "aarch64-linux"
"powerpc64le-linux" "riscv64-linux")))
(define supported-systems-union-manifest
(concatenate-manifests
(map artifacts-for-system
%supported-systems)))
(when %use-snapshot-package?
(warning (G_ "building images using the 'guix' package (snapshot)~%")))
(info (G_ "producing artifacts for the following systems: ~a~%")
%supported-systems)
supported-systems-union-manifest
+26
View File
@@ -0,0 +1,26 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; Produce a single directory with all the artifacts inside of it, with proper
;;; names. They can then be easily copied to releasedir in Makefile. The files are
;;; symlinked to save space, but they should be copied out of the store as regular
;;; files.
(load "artifacts-manifest.scm")
(manifest->union
supported-systems-union-manifest)
+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"))))
;;;
+16 -9
View File
@@ -359,7 +359,7 @@ to it atomically and set the appropriate permissions."
(left unused-subid-range-left ;previous unused subuid range or #f
(default #f))
(min unused-subid-range-min ;lower bound of this unused subuid range
(default %subordinate-id-min))
(default 0))
(max unused-subid-range-max ;upper bound
(default %subordinate-id-max))
(right unused-subid-range-right ;next unused subuid range or #f
@@ -555,7 +555,10 @@ will be marked as used in it."
(define actual-range
(subid-range
(inherit range)
(start allocation-start)))
;; New IDs are only allocated between %subordinate-id-min and
;; %subordinate-id-max.
(start
(max allocation-start %subordinate-id-min))))
(if (within-interval? allocation actual-range)
(values
@@ -603,13 +606,6 @@ is visited to find the best unused range that can hold RANGE."
(define range-end
(subid-range-end range))
(unless (and (subordinate-id? range-start)
(subordinate-id? range-end))
(raise
(condition
(&invalid-subid-range-error
(range range)))))
(define less?
(< range-end allocation-start))
(define more?
@@ -802,12 +798,23 @@ new UIDs."
(define* (allocate-subids ranges #:optional (current-ranges '()))
"Return a list of subids entries for RANGES, a list of <subid-range>. IDs
found in CURRENT-RANGES, a list of subid entries, are reused."
;; Ranges from disk must always have a start.
(let ((generic (any (compose not subid-range-has-start?) current-ranges)))
(when generic
(raise
(condition
(&specific-subid-range-expected-error
(range generic))))))
(for-each
(lambda (range)
;; New ranges must always be included in the current supported set.
(unless (or (not (subid-range-has-start? range))
(and (subordinate-id? (subid-range-start range))
(subordinate-id? (subid-range-end range))))
(raise
(condition (&invalid-subid-range-error (range range))))))
ranges)
(define sorted-ranges
(stable-sort ranges
subid-range-less))
+12 -7
View File
@@ -321,13 +321,18 @@ EINVAL, ELOOP, etc."
;; convention to be followed.
(source (canonicalize-path* (string-append etc "/" file))))
(rm-f target)
(if (string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440))
(symlink source target)))) ;usual case
(cond ((string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440)))
((string=? (basename target) "hosts")
;; /etc/hosts must be a regular file, as some software
;; like vpn-slice expect to be able to write to it.
(copy-file source target))
(else ;usual case
(symlink source target)))))
(scandir etc (negate dot-or-dot-dot?)
;; The default is 'string-locale<?', but we don't have
;; it when run from the initrd's statically-linked
+5 -1
View File
@@ -428,7 +428,11 @@ GRUB configuration and OS-DRV as the stuff in it."
"-not" "-wholename" "/System/*"
"-not" "-name" "unicode.pf2"
"-not" "-name" "bzImage"
"-not" "-name" "*.gz" ; initrd & all man pages
"-not" "-name" "zImage"
"-not" "-name" "Image"
"-not" "-name" "vmlinuz"
"-not" "-name" "*.gz" ; initrd
"-not" "-name" "*.zst" ; all man pages
"-not" "-name" "*.png" ; includes grub-image.png
"-exec" "set_filter" "--zisofs"
"--")
+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
+6 -7
View File
@@ -367,14 +367,13 @@ purposes."
'unknown)
((channels ...)
(map (lambda (channel)
(let* ((uri (string->uri (channel-url channel)))
(url (if (or (not uri) (eq? 'file (uri-scheme uri)))
"local checkout"
(channel-url channel))))
`(channel ,(channel-name channel) ,url ,(channel-commit channel))))
;; NOTE: URL is not logged to synchronize the derivations
;; coming out of pre-inst-env, time-machine and Cuirass
;; for generating release artifacts.
`(channel ,(channel-name channel) ,(channel-commit channel)))
channels))))
(define* (installer-program #:key dry-run?)
(define* (installer-program #:key dry-run? (guix-for-installer (current-guix)))
"Return a file-like object that runs the given INSTALLER."
(define init-gettext
;; Initialize gettext support, so that installer messages can be
@@ -423,7 +422,7 @@ purposes."
guile-gnutls
guile-zlib ;for (gnu build linux-modules)
guile-zstd ;for (gnu build linux-modules)
(current-guix))
guix-for-installer)
(with-imported-modules `(,@(source-module-closure
`(,@modules
(gnu services herd)
+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
+22 -5
View File
@@ -73,6 +73,7 @@
# Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
#
# This file is part of GNU Guix.
#
@@ -357,6 +358,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gxmessage.scm \
%D%/packages/hardware.scm \
%D%/packages/hare.scm \
%D%/packages/hare-apps.scm \
%D%/packages/hare-xyz.scm \
%D%/packages/haskell.scm \
%D%/packages/haskell-apps.scm \
@@ -695,7 +697,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/vpn.scm \
%D%/packages/vulkan.scm \
%D%/packages/w3m.scm \
%D%/packages/wdiff.scm \
%D%/packages/weather.scm \
%D%/packages/web.scm \
%D%/packages/web-browsers.scm \
@@ -1143,6 +1144,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \
@@ -1173,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 \
@@ -1199,12 +1202,14 @@ dist_patch_DATA = \
%D%/packages/patches/duc-fix-test-sh.patch \
%D%/packages/patches/dune-common-skip-failing-tests.patch \
%D%/packages/patches/durden-shadow-arcan.patch \
%D%/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/dwarves-threading-reproducibility.patch \
%D%/packages/patches/efivar-fix-fprint-format.patch \
%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 \
@@ -1244,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 \
@@ -1320,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 \
@@ -1592,6 +1598,7 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-refcounts-assert.patch \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hurd-proc-zombies.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
@@ -1678,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 \
@@ -1688,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 \
@@ -2048,6 +2058,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-clarabel-blas.patch \
%D%/packages/patches/python-docrepr-fix-tests.patch \
%D%/packages/patches/python-feedparser-missing-import.patch \
%D%/packages/patches/python-gpg-setup-72.patch \
%D%/packages/patches/python-hdmedians-replace-nose.patch \
%D%/packages/patches/python-louvain-fix-test.patch \
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
@@ -2072,6 +2083,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
%D%/packages/patches/qtwebengine-revert-egl.patch \
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2205,24 +2217,26 @@ 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 \
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-patch-libvulkan.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-grep-compat.patch \
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
%D%/packages/patches/qtwebengine-fix-dependencies.patch \
%D%/packages/patches/qtwebsockets-6.9-fix-tst_QWebSocket.patch\
%D%/packages/patches/rabbitmq-defaults.patch \
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch \
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch \
%D%/packages/patches/ragel-char-signedness.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapidcheck-fix-libs.patch \
@@ -2250,6 +2264,7 @@ dist_patch_DATA = \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restartd-update-robust.patch \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
%D%/packages/patches/rlwrap-no-rbgen.patch \
%D%/packages/patches/rng-tools-revert-build-randstat.patch \
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
@@ -2276,7 +2291,6 @@ dist_patch_DATA = \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
%D%/packages/patches/safeint-disable-tests.patch \
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
@@ -2287,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 \
@@ -2481,10 +2496,12 @@ dist_patch_DATA = \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
%D%/packages/patches/x2goclient-fix-makefile.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
+41 -11
View File
@@ -605,15 +605,35 @@ interface and is based on GNU Guile.")
(base32
"1mh080060lnycys8yq6kkiy363wif8dsip3nyklgd3a1r22wb274"))))
(arguments
(substitute-keyword-arguments (package-arguments shepherd-0.10)
((#:configure-flags flags #~'())
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd")))))
(list
#:configure-flags
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd"))
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
#:phases (if (%current-target-system)
#~(modify-phases %standard-phases
(add-before 'configure 'set-fibers-directory
(lambda* (#:key inputs #:allow-other-keys)
;; When cross-compiling, refer to the target
;; Fibers, not the native one.
(let ((fibers
(search-input-file
inputs
"share/guile/site/3.0/fibers.scm"))
(fibers-go
(search-input-file
inputs
"lib/guile/3.0/site-ccache/fibers.go")))
(substitute* '("herd.in" "shepherd.in")
(("%FIBERS_SOURCE_DIRECTORY%")
(dirname fibers))
(("%FIBERS_OBJECT_DIRECTORY%")
(dirname fibers-go)))))))
#~%standard-phases)))
(native-inputs
(modify-inputs (package-native-inputs shepherd-0.10)
(replace "guile-fibers"
@@ -2504,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")
@@ -3353,7 +3373,17 @@ provides the following commands:
(uri (pypi-uri "ansible" version))
(sha256
(base32 "0apj783acx4jzkf3bnibn4y5jc6jd8ly7l0rdqq8f1jpgxal933x"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
;; XXX: All tests errored with:
;; from ...common.utils import (
;; E ImportError: attempted relative import with no known parent package
;;
;; tests: 17 skipped, 1 warning, 1132 errors
#:tests? #f))
(native-inputs
(list python-setuptools))
(propagated-inputs (list ansible-core))
;; The Ansible collections are found by ansible-core via the Python search
;; path; the following search path ensures that they are found even when
+18 -11
View File
@@ -498,25 +498,20 @@ or text interfaces) or as a C++ library.")
(define-public flint
(package
(name "flint")
(version "3.2.1")
(version "3.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "0gyjbkhwrmx2vgb1gailnmmzacl4aikzgi70dzmpf8lpfxny8yya"))))
(base32 "0csa8n7d4l3mh892q36nhiv1r7bkb168vszz79p95bfy0jc6g5wl"))))
(build-system gnu-build-system)
(inputs
(list ntl))
(propagated-inputs
(list gmp mpfr)) ; header files included by flint.h or mpfr_mat.h
(arguments
;; Parallel tests failed in the past on ARM, this may need to be
;; tested again.
`(#:parallel-tests? #f
;; Prevent build machine specifics from ending up in the binary.
#:configure-flags '("--disable-assembly")))
'(#:configure-flags '("--disable-assembly")))
(synopsis "Fast library for number theory")
(description
"FLINT is a C library for number theory. It supports arithmetic
@@ -534,6 +529,18 @@ fast arithmetic.")
(properties
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
(define-public flint-3.3
(package
(inherit flint)
(version "3.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "1yzasdcv90f6w926p9g92cli2daxvb0mh2s1w1qskkvn618hxmv4"))))))
(define-public python-flint
(package
(name "python-flint")
@@ -558,7 +565,7 @@ fast arithmetic.")
python-pytest))
(inputs
(list gmp
flint))
flint-3.3))
(propagated-inputs
(list python-numpy))
(home-page "https://fredrikj.net/python-flint/")
@@ -620,7 +627,7 @@ matrices, and polynomials over the integers and over finite fields.")
(define-public singular
(package
(name "singular")
(version "4.4.1")
(version "4.4.1p5")
(source
(origin
(method url-fetch)
@@ -636,7 +643,7 @@ matrices, and polynomials over the integers and over finite fields.")
"/singular-" version ".tar.gz"))
(sha256
(base32
"16xlhar1krlskh9gxbw1gw4qi8248c95w71vzxdw72avs2pblkva"))))
"1pwygpmhf4sddf1v5x5fr1kbbkb29wlfd5yyj7lryvhbs45s9rdw"))))
(build-system gnu-build-system)
(arguments
(list
+48 -40
View File
@@ -1306,50 +1306,58 @@ emulator inside the comfort of Emacs.")
(package
(name "enjarify")
(version "1.0.3")
(home-page "https://github.com/Storyyeller/enjarify")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32
"1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system python-build-system)
(method git-fetch)
(uri (git-reference
(url "https://github.com/Storyyeller/enjarify")
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32 "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fixup-expected-test-results
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(lambda _
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
#t))
(add-before 'check 'drop-java-xss-argument
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(lambda _
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))
#t))
(add-after 'install 'install-enjarify-wrapper
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin/"))
(copy-file "enjarify.sh" (string-append out "/bin/enjarify"))
#t))))))
(native-inputs (list openjdk12))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fix-tests
(lambda _
(substitute* "enjarify/runtests.py"
(("from \\.main") "from enjarify.main")
(("from \\.jvm") "from enjarify.jvm"))
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit:
;; 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))))
(add-after 'install 'install-enjarify-wrapper
(lambda _
(let ((bin (string-append #$output "/bin")))
(install-file "enjarify.sh" bin)
(symlink (string-append bin "/enjarify.sh")
(string-append bin "/enjarify")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "python" "-m" "enjarify.runtests")))))))
(native-inputs
(list openjdk12
python-setuptools))
(home-page "https://github.com/Storyyeller/enjarify")
(synopsis "Translate Dalvik bytecode to equivalent Java bytecode")
(description "Android applications are Java programs that run on a
customized virtual machine, which is part of the Android operating system, the
Dalvik VM. Their bytecode differs from the bytecode of normal Java
applications. Enjarify can translate the Dalvik bytecode back to equivalent
Java bytecode, which simplifies the analysis of Android applications.")
(description
"Android applications are Java programs that run on a customized virtual
machine, which is part of the Android operating system, the Dalvik VM. Their
bytecode differs from the bytecode of normal Java applications. Enjarify can
translate the Dalvik bytecode back to equivalent Java bytecode, which
simplifies the analysis of Android applications. It's an alternative fork of
not maintained Goole's project https://github.com/google/enjarify.")
(license license:asl2.0)))
(define-public android-file-transfer
+2 -2
View File
@@ -1224,7 +1224,7 @@ engineers, musicians, soundtrack editors and composers.")
(define-public audacity
(package
(name "audacity")
(version "3.7.4")
(version "3.7.7")
(source
(origin
(method git-fetch)
@@ -1233,7 +1233,7 @@ engineers, musicians, soundtrack editors and composers.")
(commit (string-append "Audacity-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
(base32 "0h2xdhbx6bjhlk2mxqalpbpzjcdj0sb8wf1rp3vj0fbgvxy1y92k"))
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
(modules '((guix build utils)))
(snippet
@@ -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
+41 -24
View File
@@ -6104,7 +6104,7 @@ UCSC genome browser.")
(define-public tetoolkit
(package
(name "tetoolkit")
(version "2.2.1b")
(version "2.2.3")
(source
(origin
(method git-fetch)
@@ -6113,10 +6113,11 @@ UCSC genome browser.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1m3xsydakhdan9gp9mfdz7llka5g6ak91d0mbl1cmmxq9qs6an4y"))))
(base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p"))))
(build-system pyproject-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
`(#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
(add-after 'unpack 'adjust-requirements
(lambda _
(substitute* "setup.py"
@@ -6163,7 +6164,7 @@ UCSC genome browser.")
python-pysam
r-minimal
r-deseq2))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools))
(home-page "https://github.com/mhammell-laboratory/TEtranscripts")
(synopsis "Transposable elements in differential enrichment analysis")
(description
@@ -18686,25 +18687,36 @@ cases include:
(define-public python-mappy
(package
(name "python-mappy")
(version "2.24")
(source (origin
(method url-fetch)
(uri (pypi-uri "mappy" version))
(sha256
(base32
"1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im"))))
(build-system python-build-system)
(native-inputs
(list python-cython))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
(name "python-mappy")
(version "2.24")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lh3/minimap2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags
#~(list "-c" (string-append "import mappy;"
" print(mappy.revcomp("
"mappy.Aligner('test/MT-human.fa')"
".seq('MT_human', 100, 200)))"))))
(native-inputs
(list python-cython python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
a fast and accurate C program to align genomic and transcribe nucleotide
sequences.")
(license license:expat)))
(license license:expat)))
(define-public miniasm
(package
@@ -20100,7 +20112,7 @@ allowing the insertion of arbitrary types into the tree.")
(define-public python-pypairix
(package
(name "python-pypairix")
(version "0.3.8")
(version "0.3.9")
;; The tarball on pypi does not include the makefile to build the
;; programs.
(source
@@ -20113,7 +20125,7 @@ allowing the insertion of arbitrary types into the tree.")
(sha256
(base32
"1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:phases
@@ -20129,6 +20141,9 @@ allowing the insertion of arbitrary types into the tree.")
(add-after 'install 'install-programs
(lambda _
(copy-recursively "bin" (string-append #$output "/bin")))))))
(native-inputs
(list python-pytest
python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/4dn-dcic/pairix")
@@ -23902,7 +23917,9 @@ instruments, or Pacific Biosciences RSII or Sequel sequencers.")
(sha256
(base32
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(arguments (list #:tests? #f)) ;No tests on either PyPI or Git.
(inputs
(list curl zlib))
(propagated-inputs
+4 -4
View File
@@ -338,7 +338,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "1.0.0")
(version "2.0.0")
(source
(origin
(method git-fetch)
@@ -347,7 +347,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
(build-system emacs-build-system)
(arguments
(list
@@ -361,8 +361,8 @@ parallel study, and original language study.")
(home-page "https://protesilaos.com/emacs/emacs-lisp-elements")
(synopsis "Overview of the Emacs Lisp programming language")
(description
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing a big
picture view of the @acronym{Elisp, Emacs Lisp} programming language by
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing
a big picture view of the @acronym{Elisp, Emacs Lisp} programming language by
combining prose with code. This book aims to provide an idea of how Elisp
works by showing some of the main concepts and patterns encountered in
everyday Elisp code.
+35
View File
@@ -21,6 +21,7 @@
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
@@ -99,6 +100,40 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public acr
(package
(name "acr")
(version "2.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/acr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qd7p50b9gkh2ihf7gs6xpdkb5jk8frg90ajqlw1pbza8735f9q1"))
(snippet
#~(begin
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(add-after 'patch-source-shebangs 'bootstrap-after-patch-source-shebangs
(assoc-ref %standard-phases 'bootstrap)))))
(synopsis "Autoconf replacement written in pure Bash")
(description
"@acronym{ACR, Autoconf Replacement} tries to replace autoconf
functionality generating a full-compatible configure script, but relying on
Bourne shell script instead of m4.")
(home-page "https://github.com/radareorg/acr")
(license license:gpl2)))
(define-public bam
(package
(name "bam")
+14 -23
View File
@@ -832,7 +832,20 @@ format.")
(build-system cmake-build-system)
(arguments
'(#:parallel-tests? #f
#:configure-flags '("-DBUILD_TESTS=ON")))
#:configure-flags '("-DBUILD_TESTS=ON"
"-DUSE_BUNDLED_TINYXML2=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-testcondition-test
(lambda _
(substitute* "test/testcondition.cpp"
(("test.cpp:4\\] -> \\[test.cpp:6")
"test.cpp:4:25] -> [test.cpp:6:18")
(("test.cpp:3\\] -> \\[test.cpp:5(.*false)"_ rest)
(string-append "test.cpp:3:22] -> [test.cpp:5:22" rest
" [knownConditionTrueFalse]"))))))))
(inputs
(list tinyxml2))
(home-page "https://cppcheck.sourceforge.io")
(synopsis "Static C/C++ code analyzer")
(description "Cppcheck is a static code analyzer for C and C++. Unlike
@@ -3774,28 +3787,6 @@ system. The code under test requires no modification to work with pyfakefs.")
asynchronous code in Python (asyncio).")
(license license:expat)))
(define-public python-pytest-dependency
(package
(name "python-pytest-dependency")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-dependency" version))
(sha256
(base32
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
(build-system python-build-system)
(propagated-inputs
(list python-pytest))
(home-page
"https://github.com/RKrahl/pytest-dependency")
(synopsis "Manage dependencies of tests")
(description "This pytest plugin manages dependencies of tests. It allows
to mark some tests as dependent from other tests. These tests will then be
skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0)))
(define-public python-pytest-datadir
(package
(name "python-pytest-datadir")
+19 -7
View File
@@ -9,6 +9,7 @@
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025 Foster Hangdaan <foster@hangdaan.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -702,22 +703,33 @@ To get @code{podman machine} working, install @code{qemu-minimal}, and
(define-public podman-compose
(package
(name "podman-compose")
(version "1.2.0")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06vm088q1x7j929n93ylq3bav716bqh6l79agj8sgzsqxjsmli73"))))
(base32 "08pz9axvgfyr0jd8rlndmhh8147s864mz17ng6qs07831g9ylj80"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "pytests")))
(native-inputs (list python-pytest python-parameterized python-setuptools python-wheel))
(propagated-inputs (list python-dotenv python-pyyaml))
;; Only run tests in `tests/unit`, skipping the ones in
;; `tests/integration`. The integration tests need an environment with
;; the ability to manage containers and volumes using the `podman`
;; command.
;;
;; tests: 378 tests
#:test-backend #~'unittest
#:test-flags #~(list "discover" "tests/unit")))
(native-inputs
(list python-parameterized
python-setuptools))
(propagated-inputs
(list python-dotenv
python-pyyaml))
(home-page "https://github.com/containers/podman-compose")
(synopsis "Script to run docker-compose.yml using podman")
(description
+10 -5
View File
@@ -982,7 +982,7 @@ utilities used across the hypr* ecosystem.")
(define-public hyprlang
(package
(name "hyprlang")
(version "0.6.6")
(version "0.6.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -991,7 +991,7 @@ utilities used across the hypr* ecosystem.")
(file-name (git-file-name name version))
(sha256
(base32
"13lqlwrpcd3gs5xw51sj1zx2w7kvsywvgdal81dp841rpph91z00"))))
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -2473,17 +2473,22 @@ of C++14 components that complements @code{std} and Boost.")
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DENABLE_TESTS=ON")
#:configure-flags #~(list "-DENABLE_TESTS=ON" "-DENABLE_CRYPTO=ON"
"-DENABLE_NETSSL=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
;; Require network access
;; Require network access.
"Net/CMakeLists.txt"
"MongoDB/CMakeLists.txt"
"Redis/CMakeLists.txt")
"Redis/CMakeLists.txt"
;; Requires network access and uses certificates
;; that will expire.
"NetSSL_OpenSSL/CMakeLists.txt")
(("ENABLE_TESTS") "FALSE")))))))
(inputs (list openssl))
(home-page "https://pocoproject.org/")
(synopsis "Portable C++ components")
(description "This package provides a collection of C++ libraries intended
+23 -2
View File
@@ -520,14 +520,14 @@ total number of shares generated.")
(define-public tomb
(package
(name "tomb")
(version "2.11")
(version "2.13")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/releases/"
"Tomb-" version ".tar.gz"))
(sha256
(base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
(base32 "1405kw0j8i1bqyqbim8530xf6hchpf57r9p1v92aknwyn5wgny0g"))))
(build-system gnu-build-system)
(arguments
(list
@@ -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")
+77 -11
View File
@@ -67,6 +67,7 @@
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -139,6 +140,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon)
@@ -3713,24 +3715,29 @@ for many database kinds that tortoise-orm doesn't need, for example.")
(define-public python-asyncpg
(package
(name "python-asyncpg")
;; asyncpg 0.31.0 requires Cython(>=3.2.1,<4.0.0), got Cython==3.1.2
(version "0.30.0")
(source
(origin
;; git-fetch leads to errors like
;; ValueError: 'asyncpg/pgproto/pgproto.pyx' doesn't match any files
(method url-fetch)
(uri (pypi-uri "asyncpg" version))
(sha256
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; raises ValueError("Invalid IPv6 URL") ; Maybe due to urllib?
#~(list "-k" "not TestConnectParams")))
(native-inputs
(list postgresql
python-cython
python-pytest
python-uvloop
python-distro
python-setuptools
python-wheel))
(propagated-inputs
(list python-async-timeout))
python-setuptools))
(home-page "https://github.com/MagicStack/asyncpg")
(synopsis "Fast PostgreSQL database client library for Python")
(description "@code{asyncpg} is a database interface library designed
@@ -4621,14 +4628,33 @@ managers for automatically closing connections.")
(define-public python-databases
(package
(name "python-databases")
(version "0.7.0")
;; 0.9.0 needs sqlalchemy>=2.0.7
;; 0.8.0 needs sqlalchemy>=1.4.42,<1.5
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "databases" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/databases")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
(build-system python-build-system)
(base32 "183yawn8w561y1ni117rf5zaxm4gqqbcmi9fp52xd5fx2dj8qy3v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These need TEST_DATABASE_URLS set.
;; TODO: Use "sqlite:///test.db"? See docs/contributing.md.
#~(list "--ignore=tests/test_databases.py"
"--ignore=tests/test_integration.py"
"--ignore=tests/test_connection_options.py")))
(native-inputs
(list python-httpx
python-psycopg
python-pytest
python-setuptools
python-starlette))
(propagated-inputs
(list python-aiosqlite
python-aiopg
@@ -5849,6 +5875,46 @@ with no external dependencies. The targets are small apps that would
be blown away by a SQL-DB or an external database server.")
(license license:expat)))
(define-public sdb
(package
(name "sdb")
(version "2.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/sdb.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15pc807s2nmhnr3mspyz9h47rkxkv1r07x959ir17v5b6zs7wxvw"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'setenv-cc
(lambda _
(setenv "CC" #$(cc-for-target))))
;; The provided meson.build uses a Makefile in the source root
;; to run the tests, but resolves its directory relative to
;; the build directory, assuming the build is one level under
;; the source tree. This breaks if the build tree is elsewhere.
(add-before 'check 'set-test-workdir-to-source-root
(lambda _
(substitute* "../source/meson.build"
(("workdir: join_paths.*$")
"workdir: meson.project_source_root(),\n")))))))
(native-inputs
(list node
perl
python-minimal-wrapper))
(home-page "https://github.com/radareorg/sdb")
(synopsis "Simple and fast string based key-value database")
(description "SDB is a simple key/value database based on djb's cdb disk
storage that supports JSON and array introspection.")
(license license:expat)))
(define-public sequeler
(package
(name "sequeler")
@@ -5947,7 +6013,7 @@ compatible with SQLite using a graphical user interface.")
(define-public sqlitestudio
(package
(name "sqlitestudio")
(version "3.4.17")
(version "3.4.18")
(source
(origin
(method git-fetch)
@@ -5956,7 +6022,7 @@ compatible with SQLite using a graphical user interface.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1zb1qr88rwkzmrxc0lm99x8h99hpn5c2wfdpvqzs9f9ph8qvasww"))))
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
(build-system gnu-build-system)
(arguments
(list
+1 -1
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
+5 -1
View File
@@ -419,7 +419,11 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests provided with the project
(native-inputs
(list python-setuptools))
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker for the French language,
+2 -2
View File
@@ -302,13 +302,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(package
(inherit python-django)
(name "python-django-4")
(version "4.2.26")
(version "4.2.27")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "0ylxdpkiwdh8yhqxqzm90fxiagm8v7xijvdm5ha3ypmmpj3y964k"))))
(base32 "14jvv95nw76fz8v0gzqdn6xwicqdn91glpjcb4vfxld3ykhgnrdq"))))
(arguments
(substitute-keyword-arguments (package-arguments python-django)
((#:phases phases)
+11 -5
View File
@@ -45,6 +45,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cmake)
@@ -120,18 +121,23 @@
(version "0.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pychm" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dottedmag/pychm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
(build-system python-build-system)
"0zf2vnrby2m31nvi6p3isspbrjmzjw1vwfx3xl7bkvjs7sli1wbw"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
(inputs
(list chmlib))
(home-page "https://github.com/dottedmag/pychm")
(synopsis "Handle CHM files")
(description "This package provides a Python module for interacting
with Microsoft Compiled HTML (CHM) files")
with Microsoft Compiled HTML (CHM) files.")
(license license:gpl2+)))
(define-public calibre
+101 -52
View File
@@ -207,8 +207,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "c8eac7595d094dd45402133497d645fb74e545f0")
(revision "7"))
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
(revision "8"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -220,7 +220,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"14k2j54fwr2a3nmb637fclzdf22a16jw5fsmhr3cf42yd924yn71"))))
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -1812,7 +1812,7 @@ verification.")
(define-public open-logic
(package
(name "open-logic")
(version "4.1.0")
(version "4.2.0")
(source
(origin
(method git-fetch)
@@ -1824,7 +1824,7 @@ verification.")
(file-name (git-file-name name version))
(sha256
(base32
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
(outputs
'("out" "test"))
(properties
@@ -1921,7 +1921,6 @@ reusable and vendor/tool-independent way. It is written following the VHDL
python-setuptools))
(inputs
(list libngspice
ngspice
python-invoke
python-matplotlib
python-ply
@@ -2042,7 +2041,13 @@ files as specified in IEEE 1364-2005.")
(arguments
(list
#:test-flags
#~(list "-k" "not test_toplevel_library")));requires questasim simulator
#~(list "-k" "not test_toplevel_library") ;requires questasim simulator
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'run-examples
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
@@ -2058,53 +2063,96 @@ and Verilog RTL using Python.")
(license license:bsd-3)))
(define-public python-cocotb-bus
;; XXX: The latest tagged release (2.6.1) was placed on <2023-07-01>, switch
;; to tag when the fresh release is available.
(let ((commit "f5578a4d451ef6bc1efdd4919de5facdb381b781")
(revision "2"))
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version (git-version "0.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "13zdqalzhzrfv1lcn6l71zhi4hns89y093hvz9swkcr2kzwfn08r"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-packaging
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0aqk78w5gg23rwf93gidw8yazmidwgmahqcmm3x0qx380mbdxjl4"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
and reusable bus interfaces to be used with @code{cocotb}.")
(license license:bsd-3))))
(license license:bsd-3)))
(define-public python-cocotb-test
(package
(name "python-cocotb-test")
(version "0.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cocotb_test" version))
(sha256
(base32 "14h62sr2prxd0iy1axq68b9zdfggnms230xgrimywphlr941jrm4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;requires examples folder from python-cocotb
(propagated-inputs
(list python-cocotb))
(native-inputs
(list python-pytest python-setuptools))
(home-page "https://pypi.org/project/cocotb-test/")
(synopsis
"Standard python unit testing cababilities for @code{python-cocotb}")
(description "This package provides the look and feel of Python unit
testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(license license:bsd-3)))
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.26")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexforencich/cocotbext-axi/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
(native-inputs
(list iverilog python-cocotb-test python-pytest python-setuptools))
(home-page "https://github.com/alexforencich/cocotbext-axi/")
(synopsis
"Extra @acronym{AXI, Advanced Extensible Interface} modules for cocotb")
(description "This package provides an extension to @code{cocotb} in the
form of AXI, AXI lite, and AXI stream modules.")
(license license:expat)))
(define-public python-edalize
(package
(name "python-edalize")
(version "0.6.1")
(version "0.6.3")
(source
(origin
(method git-fetch)
@@ -2113,7 +2161,7 @@ and reusable bus interfaces to be used with @code{cocotb}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03mkzkmi96jkrpgcnawixvy832p3b8li8lrirdjhfp9dmp7d5kg5"))))
(base32 "1ml6b17jp4vwjaw16v0agajzksig92q5qmk2psm51ck4q076lm3m"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2299,6 +2347,7 @@ languages.")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-deps
@@ -2309,8 +2358,8 @@ languages.")
(("rawVer .*")
(string-append "rawVer = \"v"
#$version "\""))))))))
(native-inputs (list python-setuptools python-wheel python-gitpython
git-minimal/pinned))
(native-inputs
(list python-setuptools python-gitpython git-minimal/pinned))
(home-page "https://slaclab.github.io/surf/")
(synopsis "SLAC Ultimate RTL Framework")
(description
+281 -163
View File
@@ -639,6 +639,29 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
(version "0.82")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/perl-doc-" version
".tar"))
(sha256
(base32 "1fj13361a9pgmlda8yix0p805r2gwzv1gxf43pq6y79a8hxbm8yn"))))
(build-system emacs-build-system)
(home-page "https://github.com/HaraldJoerg/emacs-perl-doc")
(synopsis "Read Perl documentation from Emacs")
(description
"This package contains a command to read Perl documentation in Emacs: @samp{M-x
perl-doc}. It uses two external commands which come with Perl:
@command{perldoc} to locate the Perl documentation for the Perl modules
installed on your system, and @command{pod2html} to format the documentation
to HTML. This HTML version is then displayed using the Emacs simple HTML
renderer, @code{shr}.")
(license license:gpl3+)))
(define-public emacs-sops
(package
(name "emacs-sops")
@@ -2684,6 +2707,42 @@ third-party predecessor @code{git-tbdiff}), a Git subcommand for comparing two
versions of a topic branch.")
(license license:gpl3+)))
(define-public emacs-magit-delta
;; No releases or tags.
(let ((commit "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616")
(revision "0"))
(package
(name "emacs-magit-delta")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/dandavison/magit-delta")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1kph5r9dy21pgfknpcdzzqfn6rqig5nvp8ksh16y13k3axlzvkiw"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-delta-executable
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "magit-delta.el"
("magit-delta-delta-executable"
(search-input-file inputs "/bin/delta"))))))))
(propagated-inputs (list emacs-dash emacs-magit emacs-xterm-color))
(inputs (list git-delta))
(synopsis "Integration of @code{delta} with @code{emacs-magit}")
(description "Magit-delta provides a minor mode which configures
@code{emacs-magit} to use @code{delta} for syntax highlighting when displaying
diffs.")
(license license:expat))))
(define-public emacs-malyon
(package
(name "emacs-malyon")
@@ -6473,7 +6532,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "2.5")
(version "2.6")
(source
(origin
(method git-fetch)
@@ -6482,7 +6541,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "14ddl6dby5hlphpcsnwxkvw61hh1cyhilpgsyj17fzw9xwpp4q9w"))))
(base32 "0psy7ximwnansy9pppcw1l2fryr15v2vqgj81q649743py6nd60l"))))
(build-system emacs-build-system)
(arguments
(list
@@ -6699,7 +6758,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
(version "1.8.7")
(version "1.9.0")
(source
(origin
(method git-fetch)
@@ -6709,7 +6768,7 @@ that the binary uses instead of the actual binary contents.")
(file-name (git-file-name name version))
(sha256
(base32
"14f4mwkjsldygvv232d3ivkggizm3ccyrgyd01hymfmv6xazj155"))))
"09xzn4daf80w7x6kbj2b8az89viv66sh367kxlxymr7rsznq1a7q"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9003,46 +9062,6 @@ and contract the region by semantic units. Unlike @code{expand-region},
@code{expreg} can leverage Emacs 29's tree-sitter support.")
(license license:gpl3+))))
(define-public emacs-explain-pause-mode
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
(revision "0"))
(package
(name "emacs-explain-pause-mode")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lastquestion/explain-pause-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup))
(arguments
'(#:phases
(modify-phases %standard-phases
;; This causes the byte-compilation before unit-tests to fail.
(add-after 'unpack 'remove-error-on-warn
(lambda _
(substitute* "Makefile"
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
;; Don't run case-tests as they will fail to create sockets because
;; the path is too long
#:test-command '("make" "byte-compile" "unit-tests")
;; Parallel testing will cause the tests to run before
;; byte-compilation is finished
#:parallel-tests? #f))
(home-page "https://github.com/lastquestion/explain-pause-mode")
(synopsis "Top-like interface to determine why Emacs paused")
(description
"This package monitors Emacs function calls and records their execution
time. This information can be reviewed to determine what is causing the user
interface to pause.")
(license license:gpl3+))))
(define-public emacs-filladapt
(package
(name "emacs-filladapt")
@@ -15683,25 +15702,70 @@ in the modeline by default.")
(license license:gpl3+))))
(define-public emacs-test-simple
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
version ".el"))
(sha256
(base32
"11sgc7187l1a4f1x1f6z58dy7pc7n1999id50rjifkvk901x0qd1"))))
(build-system emacs-build-system)
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
(let ((commit "da8ddb6fecb820c8e0809ac0892374e755e4efec")) ;version bump
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rocky/emacs-test-simple/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"18a9d1n2xc2fqimvsg0nkvizn7y7sb6ap5i9al526cp40l0yky3n"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "test"
(invoke "emacs" "--batch"
"-l" "test-basic.el"
"-l" "test-buffer.el"
"-l" "test-fns.el"
"-l" "test-no-clear.el"))))))))
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
alleviates the need for context macros, enclosing specifications or required
test tags. It supports both interactive and non-interactive use.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-load-dir
;; This package is kept inside ELPA; there is no version-specific
;; tag. Version string was taken from source code.
(let ((commit "22bcac73d8808a680fd9b261cd89937d8e5c6a3c")
(revision "0"))
(package
(name "emacs-load-dir")
(version (git-version "0.0.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacs/elpa.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"011m9vnjrxmnpnvf7zjfg3pzkkfsfwc4xf3h5z37f2d4x7ghlw10"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ; No tests.
(synopsis "Load all Emacs Lisp files in a given directory")
(description
"This package provides a way to load all Emacs Lisp snippets (they
don't have to be libraries) in a directory on startup or when Emacs is already
running. It won't reload snippets unless the user requests it.")
(home-page "https://elpa.gnu.org/packages/load-dir.html")
(license license:gpl3+))))
(define-public emacs-load-relative
(package
@@ -15771,67 +15835,72 @@ text excepting lines containing matches.")
(license license:gpl3+))))
(define-public emacs-realgud
(package
(name "emacs-realgud")
(version "1.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit version)))
(sha256
(base32
"1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-realgud:run-process-void-error
;; See: https://github.com/realgud/realgud/issues/269.
(lambda _
(substitute* '("realgud/debugger/gdb/gdb.el"
"realgud/debugger/gub/gub.el")
(("^\\(require 'load-relative\\).*" anchor)
(string-append anchor
"(require-relative-list \
'(\"../../common/run\") \"realgud:\")\n")))))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
;; Last tagged release is from 2019.
(let ((commit "56a8d82830ad65c9cbb9c694617f078f007281ac")
(revision "0"))
(package
(name "emacs-realgud")
(version (git-version "1.5.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit commit)))
(sha256
(base32
"1n232jphfgqbb44p806bpgg2wisbmr5iz09js71knk7n5gslrz25"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-cask-install
(lambda _
(delete-file "cask-install.el")))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; Misc failures
(for-each delete-file
(list "test/test-pdb.el"
"test/test-shortkey.el"
"test/test-track.el"
"test/test-trepan2.el"
"test/test-lang.el"))
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple perl python-minimal-wrapper
ruby))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
with external debuggers. It integrates various debuggers such as gdb, pdb,
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
sources. Unlike GUD, it also supports running multiple debug sessions in
parallel.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-rmsbolt
;; There is no release tag. Version is extracted from main file.
@@ -16695,6 +16764,39 @@ circumstances, and leaves the keys untouched outside of those situations,
allowing unprefixed keys to insert their respective characters as expected.")
(license license:gpl3+))))
(define-public emacs-claude-code
;; There is no proper release/tag.
(let ((commit "becece683bcf60f7b150a87a30ef14885dcf8ce3")
(revision "0"))
(package
(name "emacs-claude-code")
(version (git-version "0.4.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stevemolitor/claude-code.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z77nxazkw08pmqam2z27a56s9nyp72a1vvc0ba3vgcwfkjx0v81"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^bin\\/" %default-include)
#:tests? #f)) ; There are no tests.
(propagated-inputs
(list emacs-transient
emacs-inheritenv))
(home-page "https://github.com/stevemolitor/claude-code.el")
(synopsis "Claude Code Emacs integration")
(description
"This package provides convenient ways to interact with Claude from
within Emacs, including sending commands, toggling the Claude window, and
accessing slash commands.")
(license license:asl2.0))))
(define-public emacs-claude-code-ide
;; Upstream does not make versioned releases.
(let ((commit "c5e2de1a343bc6c0444789e0a99ad822cd56cfbe"))
@@ -18869,6 +18971,27 @@ determines structure, this mode provides indentation and indentation command
behavior very similar to that of Python mode.")
(license license:gpl3+)))
(define-public emacs-yaml-pro
(package
(name "emacs-yaml-pro")
(version "1.3.3")
(home-page "https://github.com/zkry/yaml-pro")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1sipz42gb8pl8w9xci5m0kdz5dlinxj409hvyz173z3gzg7f4qr1"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-yaml))
(synopsis "Tools for editing YAML leveraging tree-sitter/parser")
(description "Leverages tree-sitter and provides fast and accurate
YAML parsing.")
(license license:gpl3+)))
(define-public emacs-yari
(let ((revision "0")
(commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
@@ -19364,7 +19487,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.19.0")
(version "1.20.0")
(source
(origin
(method git-fetch)
@@ -19373,7 +19496,7 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0limw27arkc8bn0zzj0jzhdsax78qm1lz5jfgy8zgf971llhf5qc"))))
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
(build-system emacs-build-system)
(arguments
(list
@@ -26765,8 +26888,9 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(license license:gpl3+)))
(define-public emacs-jupyter
(let ((commit "db8a9e233a010a61063f34220821ec76157a2d84")
(revision "2"))
;; Last release from 3/2024.
(let ((commit "de89cbeca890db51ba84aee956658f89aaa0b642")
(revision "3"))
(package
(name "emacs-jupyter")
(version (git-version "1.0" revision commit))
@@ -26774,11 +26898,11 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nnicandro/emacs-jupyter")
(url "https://github.com/emacs-jupyter/jupyter")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0gjxi84d95sx5fw8q2a8szfhq6kb4xzwq0xr9a3pirkiga9hxymz"))))
(base32 "09mcnl4piynzynjad7zy35rp6qn35xh1zrfc7kyws8qmii3561db"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;tests require a working jupyter
(propagated-inputs
@@ -26787,7 +26911,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
emacs-simple-httpd
emacs-websocket
emacs-zmq))
(home-page "https://github.com/nnicandro/emacs-jupyter")
(home-page "https://github.com/emacs-jupyter/jupyter")
(synopsis "Emacs interface to communicate with Jupyter kernels")
(description "This package provides an Emacs interface to communicate with
Jupyter kernels. It provides REPL and Org mode source code block frontends to
@@ -34021,47 +34145,41 @@ and comments.")
(license license:gpl3+))))
(define-public emacs-yeetube
(let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
(package
(name "emacs-yeetube")
(version "2.1.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit commit)))
(sha256
(base32
"1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"mpv\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/mpv")))
(("\\(executable-find \"torsocks\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/torsocks")))
(("\\(executable-find \"yt-dlp\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/yt-dlp")))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
(package
(name "emacs-yeetube")
(version "2.1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit version)))
(sha256
(base32
"0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"(mpv|torsocks|yt-dlp)\"\\)" all program)
(format #f "~s" (search-input-file inputs
(string-append "/bin/" program))))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
displayed in a tabulated list format. The videos can be opened with a user-defined
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
This package also includes a minimal @code{yt-dlp} wrapper.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-org-web-tools
(package
+23 -22
View File
@@ -1239,7 +1239,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(define-public mupen64plus-core
(package
(name "mupen64plus-core")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1248,7 +1248,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1iav8r3f0r44sq9pz4zjqrdzyspk412c117ywxz02qpjkhkf91a3"))))
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config nasm which))
@@ -1258,6 +1258,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
libpng
mesa
sdl2
vulkan-loader
zlib))
(arguments
'(#:phases
@@ -1288,7 +1289,7 @@ core library.")
(define-public mupen64plus-audio-sdl
(package
(name "mupen64plus-audio-sdl")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1297,7 +1298,7 @@ core library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0j78xk78fj7lhi6jk6npr7wm9ix7qyr5cbaaqsmk6pqw6gfx81kz"))))
(base32 "08sp70kjjbqg8mhxdm6yphfwn6bnf2i7yvzrzygnnn2cwd0qw42j"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1332,7 +1333,7 @@ SDL audio plugin.")
(define-public mupen64plus-input-sdl
(package
(name "mupen64plus-input-sdl")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1341,7 +1342,7 @@ SDL audio plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nnniyiy0wpg4m9918va31xxnz8r5qvj0z08vyq2is0b47ld3kq0"))))
(base32 "1x07bc3pcfy11k1kp7q0bwz1z9wppxyi3f5pr72wsk1s8szzvck0"))))
(build-system gnu-build-system)
(native-inputs
(list which))
@@ -1376,7 +1377,7 @@ SDL input plugin.")
(define-public mupen64plus-rsp-hle
(package
(name "mupen64plus-rsp-hle")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1385,7 +1386,7 @@ SDL input plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0sblabl3dp1jy9izbwyhx90690xdj96yfmwi47kpka8axzj93naq"))))
(base32 "1wdnf9y5b61hxkv7jkz67m1bcqyxykzc24bg9k77ny7jc2q42v93"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1418,7 +1419,7 @@ high-level emulation (HLE) RSP processor plugin.")
(define-public mupen64plus-rsp-z64
(package
(name "mupen64plus-rsp-z64")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1427,7 +1428,7 @@ high-level emulation (HLE) RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02w7c6b7fc6q5rrvawxv48xp64crfs5jbs06f2fqqj4smysyjfcc"))))
(base32 "0hpd402a00kmqsq45hrmgjfd1nchkjgjj5hc3fzb4fbvac5pacsz"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1460,7 +1461,7 @@ Z64 RSP processor plugin.")
(define-public mupen64plus-video-arachnoid
(package
(name "mupen64plus-video-arachnoid")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1469,7 +1470,7 @@ Z64 RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1bkzbmg53qiwvza9h45d76rbyn0isbb31cfp5qqza0fzmgjxhv1d"))))
(base32 "0dvjn3dnpsdzgjpvn4la05bcan2hs2hvzhqhfq43z1bqyxw7qb2d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1504,7 +1505,7 @@ Arachnoid video plugin.")
(define-public mupen64plus-video-glide64
(package
(name "mupen64plus-video-glide64")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1513,7 +1514,7 @@ Arachnoid video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0jscvr2imm9wj9jsgsp5815pv27f97w8g19ix0n39y9yy851qvrg"))))
(base32 "15hlbamw2iw5r7l2234a986gikgmkypdzhvl3r7px0rs0pi816pl"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1547,7 +1548,7 @@ Glide64 video plugin.")
(define-public mupen64plus-video-glide64mk2
(package
(name "mupen64plus-video-glide64mk2")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1556,7 +1557,7 @@ Glide64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1hr0mv6y7v72101iff3zf6rd0wpqah936234m3hcb4cgna6zj9xy"))))
(base32 "1w0cp448i3rnr8c6rq8ivqvjmfkcawpr4b798xqhryhbxnlr3s35"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1596,7 +1597,7 @@ Glide64MK2 video plugin.")
(define-public mupen64plus-video-rice
(package
(name "mupen64plus-video-rice")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1605,7 +1606,7 @@ Glide64MK2 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1vn24g7ahyv70jd06f5sq0j4bjs4axl2c0kfz4qdkpqsamsgxng8"))))
(base32 "16bzcjawyzy3wmxaq1chjfnljspm1sgzv7swylr9lkf3kpaijcw2"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1640,7 +1641,7 @@ Rice Video plugin.")
(define-public mupen64plus-video-z64
(package
(name "mupen64plus-video-z64")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1649,7 +1650,7 @@ Rice Video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1i8dxa0lhcsm5ss1bf74dqnzaa2bw5naj6f56ixw2qjvybrnsmk2"))))
(base32 "17h5xh5ms7xv53wcsmagapg08qzybmc1qmch5h6i7dirp5hpa411"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1691,7 +1692,7 @@ Z64 video plugin.")
(define-public mupen64plus-ui-console
(package
(name "mupen64plus-ui-console")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1700,7 +1701,7 @@ Z64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1dyrqdfs2jkalfd86bqidgd9y1hy03qgrgwk46d3xf3kyfmaa1cq"))
(base32 "0lir5clzqp2al7dcw9p6xg0kpz5wrgb4s3ar56siqg8nafslrqp3"))
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
(build-system gnu-build-system)
(native-inputs
+131 -43
View File
@@ -40,12 +40,13 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -129,6 +130,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages javascript)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
@@ -145,6 +147,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
@@ -1031,6 +1034,62 @@ user-level language.")
;; Mark as tunable to take advantage of SIMD code in Eigen.
(properties '((tunable? . #t))))))
(define-public iaito
;; Release versions are currently out of sync with radare2,
;; use most recent commit.
(let ((commit "27cdc1793c2f5bf71c6f2ef5116f0bfb91edd730")
(revision "1"))
(package
(name "iaito")
(version (git-version "6.0.4" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit commit)))
(sha256
(base32
"0bwjxv73nsd06al2a40r5gvm99kzlq7f7q7ial9189awlnsbnwlw"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(replace 'configure
(lambda _
;; Does not recognize "--enable-fast-install".
(invoke "./configure"
(string-append "--prefix=" #$output)))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
libre reverse engineering framework. Iaito focuses on simplicity, parity with
commands, features, and keybindings.")
(license license:gpl3+))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
(revision "0"))
@@ -2095,7 +2154,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2
(package
(name "radare2")
(version "5.1.1")
(version "6.0.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2103,29 +2162,59 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version)))
(sha256
(base32
"0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
"1nkqa8mkmvmbc3812gf5ayfmzyf0krjgc1695rpkphw3fsl76rgx"))
(file-name (git-file-name name version))
(patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
"radare2-fix-meson-build-to-use-sys-qjs.patch"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; tests require git and network access
#:configure-flags
#~(list "-Duse_libuv=true"
"-Duse_ssl=true"
"-Duse_sys_capstone=true"
"-Duse_sys_lz4=true"
"-Duse_sys_magic=true"
"-Duse_sys_openssl=true"
"-Duse_sys_xxhash=true"
"-Duse_sys_zip=true"
"-Duse_sys_zlib=true")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'mklibdir
(lambda _ (mkdir-p (string-append #$output "/lib")))))
#:configure-flags
#~(list "--with-openssl"
"--with-rpath"
"--with-syscapstone"
"--with-sysmagic"
"--with-syszip"
"--with-sysxxhash")
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
;; TODO: Add gmp and libzip and make the build system actually find them.
;; CHECK LATER: This patches an incorrect relative include.
(add-before 'build 'fix-relative-include
(lambda _
(substitute* "../source/libr/arch/p/java/plugin.c"
(("include \".." all)
(string-append all "/..")))))
;; These tests require sample binaries from an external repository.
(add-before 'check 'skip-tests
(lambda _
(substitute* '("../source/test/unit/test_bin.c"
"../source/test/unit/test_dwarf.c"
"../source/test/unit/test_dwarf_info.c"
"../source/test/unit/test_dwarf_integration.c"
"../source/test/unit/test_pdb.c"
;; TODO: add r2pipe and enable this test.
"../source/test/unit/test_r2pipe.c")
(("(^| )main *\\(.*" all)
(string-append all " exit (77);\n"))))))))
(inputs
(list capstone libuv openssl zip))
(list capstone
gmp
libuv
libzip
lz4
openssl
quickjs-ng
sdb
zlib))
(native-inputs
(list pkg-config))
(list node
perl
pkg-config
python-minimal-wrapper))
(propagated-inputs
;; In the Libs: section of r_hash.pc.
(list xxhash))
@@ -5271,37 +5360,36 @@ forward kinematics solvers.")
(name "python-orocos-kinematics-dynamics")
(source
(origin
(inherit (package-source orocos-kinematics-dynamics))
(snippet '(begin
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))))))
(inherit (package-source orocos-kinematics-dynamics))))
(native-inputs (list python pybind11 python-psutil))
(inputs (list orocos-kinematics-dynamics))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(add-after 'unpack 'fix
(lambda _
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))
(chdir "python_orocos_kdl")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
+2 -2
View File
@@ -185,7 +185,7 @@ testing InfiniBand networks.")
(define-public ucx
(package
(name "ucx")
(version "1.17.0")
(version "1.19.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -195,7 +195,7 @@ testing InfiniBand networks.")
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))
(sha256
(base32
"09182kx60kq7iyjyz3mpcrgp1mm0lnpc0f4hd4hlw5yyabkxrpa1"))
"12j9200iyg6d0yr84r25hcpq8qqzfaa08klbhvgrqpflpfcljz4z"))
(snippet
;; As seen in commit b0a275a5492125a13020cd095fe9934e0b5e7c6a.
#~(begin (use-modules (guix build utils))
+18 -18
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")
@@ -952,7 +952,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(define-public bcachefs-linux-module
(package
(name "bcachefs-linux-module")
(version "1.32.1")
(version "1.33.0")
(source
(origin
(method git-fetch)
@@ -961,7 +961,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m85s00i1xfb9lr73j41f80akkhcijh9m0b602r76b15a0l5v3a9"))))
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
(build-system linux-module-build-system)
(arguments
(list
+17 -6
View File
@@ -1166,14 +1166,19 @@ settings.")
(define-public python-mnemonic
(package
(name "python-mnemonic")
(version "0.20")
(version "0.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mnemonic" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/trezor/python-mnemonic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xi5qvj2rvi5almf9c89rl7hz1z4ms04d53pg818i4vpkmivavvw"))))
(build-system python-build-system)
(base32 "1r8cdlgqpmj71ap3kyhc2nq8dn29gmj7v8dlq8kgcy91jky94n8g"))))
(build-system pyproject-build-system)
(native-inputs
(list python-poetry-core python-pytest))
(propagated-inputs
(list python-pbkdf2))
(home-page "https://github.com/trezor/python-mnemonic")
@@ -1481,12 +1486,18 @@ the KeepKey Hardware Wallet.")
(version "0.9.0")
(source
(origin
;; TODO: Figure out how to build from
;; https://github.com/romanz/trezor-agent
(method url-fetch)
(uri (pypi-uri "keepkey_agent" version))
(sha256
(base32
"03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI package
(native-inputs
(list python-setuptools))
(inputs
(list python-keepkey python-packaging python-trezor-agent))
(home-page "https://github.com/romanz/trezor-agent")
+53 -1
View File
@@ -51,7 +51,7 @@
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2022 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
@@ -69,6 +69,7 @@
;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; Copyright © 2025 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5031,3 +5032,54 @@ is necessary, such as when composing tabular data using text.")
technical and idiosyncratic feelperfect for headers and pull-quotes. Made to
work well together with Mona Sans.")
(license license:silofl1.1)))
(define-public font-peppercarrot
(package
(name "font-peppercarrot")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/peppercarrot/fonts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yw5wjd6rydgllf0c3g5nh9zqbnhc1wbbhsx36c08isr28sy59mm"))))
(build-system font-build-system)
(arguments
(list
#:license-file-regexp ".*\\.(COPYRIGHT|LICENSE)$"
#:phases
#~(modify-phases %standard-phases
;; License files are spread in subdirectories, gotta catch 'em all!
(replace 'install-license-files
(let ((install-license-files (assoc-ref %standard-phases
'install-license-files))
(package-directories (find-files "."
(lambda (file stat)
(eq? 'directory
(stat:type stat)))
#:directories? #t)))
(lambda args
(for-each (lambda (directory)
(with-directory-excursion directory
(apply install-license-files args)))
package-directories)))))))
(home-page "https://www.peppercarrot.com/en/fonts/")
(synopsis "Fonts used by the comic strip Pepper&Carrot")
(description
"This package provides a collection of open fonts compiled and adapted by David
Revoy and collaborators for use in the comic strip Pepper&Carrot.")
;; We list all licenses used for any of the many fonts in the collection
(license (list license:silofl1.1
license:silofl1.0
(license:non-copyleft
"http://jikasei.me/info/license.html#M_FONT_LICENSE_1")
license:gpl3
license:gpl3+
license:gpl2
license:gpl2+
license:asl2.0
license:cc-by3.0))))
+75 -18
View File
@@ -2820,35 +2820,57 @@ to the C library @code{uchardet} to increase performance.")
(version "2.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "udiskie" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/coldfix/udiskie")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
(build-system python-build-system)
(base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "test/test_match.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'fix-entry-points
;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
(lambda _
(substitute* (string-append #$output "/bin/.udiskie-real")
(("from udiskie.cli import Daemon.main")
"from udiskie.cli import Daemon"))
(substitute* (string-append #$output "/bin/.udiskie-info-real")
(("from udiskie.cli import Info.main")
"from udiskie.cli import Info"))
(substitute* (string-append #$output "/bin/.udiskie-mount-real")
(("from udiskie.cli import Mount.main")
"from udiskie.cli import Mount"))
(substitute* (string-append #$output "/bin/.udiskie-umount-real")
(("from udiskie.cli import Umount.main")
"from udiskie.cli import Umount"))))
(add-after 'wrap 'wrap-gi-typelib
(lambda _
(wrap-program (string-append #$output "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs
(list asciidoc
gettext-minimal
gobject-introspection))
gobject-introspection
python-setuptools))
(inputs
(list bash-minimal
gobject-introspection
gtk+
libappindicator
libnotify
python-docopt
python-keyutils
python-pygobject
python-pyxdg
python-pyyaml
udisks))
(propagated-inputs
(list python-docopt python-pygobject python-keyutils python-pyxdg
python-pyyaml))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gi-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(home-page "https://github.com/coldfix/udiskie")
(synopsis "Automounter for removable media")
(description
@@ -3229,6 +3251,41 @@ The portal interfaces include APIs for file access, opening URIs, printing
and others.")
(license license:lgpl2.1+)))
(define-public xdg-desktop-portal-next
(let ((base xdg-desktop-portal))
(package
(inherit base)
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256
(base32
"1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
(patches (search-patches
"xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
(modules '((guix build utils)))
;; Disable failing tests.
(snippet #~(substitute* "tests/meson.build"
((".*test_dynamiclauncher.*") "")
((".*test_notification.*") "")
((".*test_usb.*") "")))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags #~'())
;; Requires python-furo, which isn't packaged for guix, and depends
;; on node.js.
#~(append '("-Ddocumentation=disabled")
#$flags))))
(inputs (modify-inputs (package-inputs base)
(append gstreamer
gst-plugins-base
gst-plugins-good
umockdev))))))
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")
+8 -2
View File
@@ -510,13 +510,19 @@ PCM data.")
(define-public nml
(package
(name "nml")
(version "0.7.6")
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nml" version))
(sha256
(base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
(base32 "0krs3jac9jc0zqr59ivfl5vibqc15b4yhww73j3c01dla1shvlcj"))))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "-C" "regression"))))))
(build-system python-build-system)
(propagated-inputs
(list python-pillow python-ply))
+1 -1
View File
@@ -3156,7 +3156,7 @@ exec -a ~s ~s \"$@\"
(string-append lib "/main.py"))))
(chmod bin #o555)))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python python-pygame python-tmx))
(inputs (list python python-pygame))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "Classical roguelike/sandbox game")
(description
+1 -1
View File
@@ -16,7 +16,7 @@
;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
;;;
+1 -1
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Lars Bilke <lars.bilke@ufz.de>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
+1 -1
View File
@@ -266,7 +266,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "xvfb-run" "utility/test.sh"))))))))
(native-inputs (list python-setuptools python-wheel xvfb-run))
(native-inputs (list python-setuptools python-wheel xvfb-run-for-tests))
(propagated-inputs (list python-jinja2))))
(define-public s2tc
+87 -67
View File
@@ -9,6 +9,7 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com>
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -257,77 +259,95 @@ to be read using the GNOME Yelp program.")
(license (list license:fdl1.1+ license:gpl3+)))))
(define-public gwenhywfar
(let ((attachid "529")) ;; file attachid changes for each version
(package
(name "gwenhywfar")
(version "5.12.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/gwenhywfar-" version ".tar.gz"))
(sha256
(base32 "09nnjn1i8nzlkk62wai2lbnvqap8w6y98fh520b1y883fx2g3m8a"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-network-checks"
;; GTK+3, GTK+2 and QT4 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
(package
(name "gwenhywfar")
(version "5.14.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/gwenhywfar")
(commit version)))
(sha256
(base32
"0p0fzi69jsr3flpr10s8gbl9i265x5j5k1q2i5yva2vsdx2j2878"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--disable-network-checks"
;; GTK+3, GTK+2, Qt4, Qt5 and Qt6 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs"))))))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list autoconf automake gettext-minimal libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
applications and libraries. It is used by AqBanking.")
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+))))
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+)))
(define-public aqbanking
(let ((attachid "531")) ;; file attachid changes for each version
(package
(name "aqbanking")
(version "6.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/aqbanking-" version ".tar.gz"))
(sha256
(base32 "1yqbwh91gwwqgiv8cf15rc9mxcdlikhbr5qknaqp5bavp63l8qrp"))))
(build-system gnu-build-system)
(arguments
`(;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
(modify-phases %standard-phases
;; Embed the package version instead of the build date
(add-after 'unpack 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") ,version)))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list pkg-config gettext-minimal libltdl))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
(package
(name "aqbanking")
(version "6.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/aqbanking")
(commit version)))
(sha256
(base32
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs")))
;; Embed the package version instead of the build date
(add-after 'make-cvs 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") #$version))))
(add-before 'build 'build-types
(lambda _
(invoke "make" "typedefs")
(invoke "make" "typefiles"))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list autoconf automake gettext-minimal libltdl libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
financial file formats (import/export) and bank/country/currency information.
AqBanking uses backend plugins to actually perform the online tasks. HBCI,
OFX DirectConnect, YellowNet, GeldKarte, and DTAUS discs are currently
supported. AqBanking is used by GnuCash, KMyMoney, and QBankManager.")
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3)))))
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3))))
+23 -13
View File
@@ -584,6 +584,7 @@ interface (FFI) of Guile.")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(patches (search-patches "python-gpg-setup-72.patch"))
(sha256
(base32
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
@@ -709,18 +710,22 @@ signing, decryption, verification, and key-listing parsing.")
(license license:perl-license)))
(define-public pius
;; The last release was from 2019, the latest commit is from 2025
(let ((commit "5f7c10bd3b058c864b128a3b0e0c0efa1f1befa2")
(revision "0"))
(package
(name "pius")
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaymzh/pius/releases/download/v"
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
(build-system python-build-system)
(version (git-version "3.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jaymzh/pius")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0qf1fxwdrnfkia0c1iz752mb9flbjl9jgh75dls51j1k8fzbl758"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
@@ -729,8 +734,13 @@ signing, decryption, verification, and key-listing parsing.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2")
(search-input-file inputs "bin/gpg"))))))))
(inputs (list perl ;for 'pius-party-worksheet'
(search-input-file inputs "bin/gpg")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "./run_tests")))))))
(native-inputs (list python-setuptools))
(inputs (list perl ;for 'pius-party-worksheet'
gnupg))
(synopsis "Programs to simplify GnuPG key signing")
(description
@@ -742,7 +752,7 @@ the process. The @command{pius-keyring-mgr} and
@command{pius-party-worksheet} commands help organizers of PGP key signing
parties.")
(license license:gpl2)
(home-page "https://www.phildev.net/pius/index.shtml")))
(home-page "https://github.com/jaymzh/pius"))))
(define-public signing-party
(package
+5 -5
View File
@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-CN"
"zh-TW"))
(define %icecat-base-version "140.5.0")
(define %icecat-base-version "140.6.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20251111000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1qhhsgk1dvdrxvvvry6gpijqzpbgmc6h1fd01c7478ppwprpwaw3"))))
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
(gnuzilla-commit "5897aee761cc6d179bd8632f085c3c14ccf7db6c")
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
(gnuzilla-source
(origin
(method git-fetch)
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"1yk3bpsa01gy5s5dwavsr089qp5dznzb8za5k3ab3fs79i9vdg6z"))))
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
+3 -2
View File
@@ -30,6 +30,7 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3516,7 +3517,7 @@ traffic.")))
(define-public ssh-to-pgp
(package
(name "ssh-to-pgp")
(version "1.1.4")
(version "1.1.6")
(source
(origin
(method git-fetch)
@@ -3525,7 +3526,7 @@ traffic.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xaj6pnk5y2flnxm57j9bpdpll9vhg1rbjj4v3a7hn1gginxpprx"))))
(base32 "10n4xggambw3b9nw0qsz36v7xzyvg31s8xqj66j179f78rdclpw7"))))
(build-system go-build-system)
(arguments
(list
+89
View File
@@ -1815,6 +1815,47 @@ the OTEL Go SDK.")
(description "This package provides a CSS parser and inliner.")
(license license:expat)))
(define-public go-github-com-aymerick-raymond
(package
(name "go-github-com-aymerick-raymond")
(version "2.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aymerick/raymond")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aymerick/raymond"
#:phases
#~(modify-phases %standard-phases
;; Replace vendored mustache version with the one from 'inputs'.
(add-before 'check 'supply-mustache
(lambda* (#:key inputs import-path #:allow-other-keys)
(let ((mustache (string-append "src/" import-path "/mustache")))
(delete-file-recursively mustache)
(copy-recursively #$(this-package-input "mustache-specs")
mustache)))))))
(inputs `(("mustache-specs" ,(origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/mustache/spec")
(commit
"83b0721610a4e11832e83df19c73ace3289972b9")))
(sha256 (base32
"1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
(propagated-inputs (list go-gopkg-in-yaml-v2))
(home-page "https://github.com/aymerick/raymond")
(synopsis "Handlebars for Golang")
(description
"This package provides a minimal templating engine for Golang.")
(license license:expat)))
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
(package
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
@@ -6277,6 +6318,29 @@ sessions, flash messages, custom backends, and more.")
protocol.")
(license license:bsd-2)))
(define-public go-github-com-gosimple-slug
(package
(name "go-github-com-gosimple-slug")
(version "1.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/slug")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/slug"))
(propagated-inputs (list go-github-com-gosimple-unidecode))
(home-page "https://github.com/gosimple/slug")
(synopsis "URL-friendly slugify with multiple language support")
(description "Generates slug from Unicode string for use in URLs.")
(license license:mpl2.0)))
(define-public go-github-com-gregjones-httpcache
(package
(name "go-github-com-gregjones-httpcache")
@@ -16648,6 +16712,31 @@ etc)
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-github-com-mvdan-xurls
(package
(name "go-github-com-mvdan-xurls")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/xurls")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mvdan/xurls"))
(propagated-inputs (list go-golang-org-x-net))
(home-page "https://github.com/mvdan/xurls")
(synopsis "Extracts URLs from text")
(description
"Xurls extracts urls from plain text using regular expressions. It can
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-nhooyr-io-websocket
(package
(name "go-nhooyr-io-websocket")
+297 -1
View File
@@ -40,7 +40,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
@@ -1371,6 +1371,28 @@ be stripped.")
with as little developer effort as possible.")
(license license:expat)))
(define-public go-github-com-alecthomas-kong-for-zk
(hidden-package
(package
(inherit go-github-com-alecthomas-kong)
(name "go-github-com-alecthomas-kong-for-zk")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alecthomas/kong")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lk4nb8ilvy0l5szj4s6wnz716vlz0v253423ykmph5l6bmips1k"))))
(arguments
(list
#:tests? #f
#:import-path "github.com/alecthomas/kong"))
(propagated-inputs (list go-github-com-alecthomas-repr
go-github-com-pkg-errors)))))
(define-public go-github-com-alecthomas-kong-hcl
(package
(name "go-github-com-alecthomas-kong-hcl")
@@ -7924,6 +7946,27 @@ string into a slice of words.")
defined output to the standard output.")
(license license:expat)))
(define-public go-github-com-fatih-color-for-zk
(hidden-package
(package
(inherit go-github-com-fatih-color)
(name "go-github-com-fatih-color-for-zk")
(version "1.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fatih/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "029qkxsdpblhrpgbv4fcmqwkqnjhx08hwiqp19pd7zz6l8a373ay"))))
(arguments
(list
#:import-path "github.com/fatih/color"
#:test-flags
#~(list "-vet=off"))))))
(define-public go-github-com-fatih-gomodifytags
;; This particular commit (v1.17.1-0.20250423142747-f3939df9aa3c) provides
;; "modifytags" submodule which is required for gopls@0.19.1.
@@ -8525,6 +8568,30 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods
@code{MarshalJSON} and @code{UnmarshalJSON} unlike go-yaml.")
(license license:expat)))
(define-public go-github-com-gosimple-unidecode
(package
(name "go-github-com-gosimple-unidecode")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/unidecode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dxdddn744l0s1lr006s2a4k02w6qx8j3k31c7sfflh7wvwzcdzx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/unidecode"))
(home-page "https://github.com/gosimple/unidecode")
(synopsis "Unicode transliterator for Golang")
(description
"Package unidecode implements a unicode transliterator which
replaces non-ASCII characters with their ASCII approximations.")
(license license:asl2.0)))
(define-public go-github-com-git-lfs-go-netrc
(package
(name "go-github-com-git-lfs-go-netrc")
@@ -20011,6 +20078,30 @@ logging.")
#:go go-1.23
#:import-path "github.com/russross/blackfriday/v2"))))
(define-public go-github-com-rvflash-elapsed
(package
(name "go-github-com-rvflash-elapsed")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rvflash/elapsed")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jawknvv51k1awlzpyr2qc1s75s1fg3l40c0zhixp1sc98hl434c"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/rvflash/elapsed"))
(home-page "https://github.com/rvflash/elapsed")
(synopsis "Calculates the elapsed time for a given date")
(description
"This package can be used to return the elapsed time since a
given time in a human-readable format.")
(license license:expat)))
(define-public go-github-com-rwcarlsen-goexif
;; No release or version tag, Golang pseudo version:
;; 0.0.0-20190401172101-9e8deecbddbd.
@@ -22267,6 +22358,31 @@ flushing entries at a given size or interval, useful for cases such as
batching log events.")
(license license:expat)))
(define-public go-github-com-tj-go-naturaldate
(package
(name "go-github-com-tj-go-naturaldate")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tj/go-naturaldate")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12d7nf1jd7nk9r8ifn1hr21a7m4yb1garmiw2grrsi5zsqsh2jb1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tj/go-naturaldate"))
(propagated-inputs (list go-github-com-tj-assert))
(home-page "https://github.com/tj/go-naturaldate")
(synopsis "Provides natural date time parsing")
(description
"This package parses human-friendly relative date/time ranges.")
(license license:expat)))
(define-public go-github-com-tj-go-spin
(package
(name "go-github-com-tj-go-spin")
@@ -22392,6 +22508,79 @@ supported by the time package
@end itemize")
(license license:expat)))
(define-public go-github-com-tliron-glsp
(package
(name "go-github-com-tliron-glsp")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/glsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vz4idndpcxrkjck6m0azdg8zsgcxcchf0ldhnkr8fj3z2sllljr"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tliron/glsp"))
(propagated-inputs (list go-github-com-sasha-s-go-deadlock
go-github-com-tliron-kutil
go-github-com-sourcegraph-jsonrpc2
go-github-com-pkg-errors
go-github-com-gorilla-websocket
go-golang-org-x-term
go-golang-org-x-crypto
go-github-com-zchee-color))
(home-page "https://github.com/tliron/glsp")
(synopsis "Language Server Protocol SDK for Golang")
(description
"Implementation of the @acronym{LSP, language server protocol}
for Golang, allowing the creating of custom language servers.")
(license license:asl2.0)))
(define-public go-github-com-tliron-kutil
(package
(name "go-github-com-tliron-kutil")
(version "0.1.59")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/go-kutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07lhzgpsi96icdya874xmfd1ymg4s4y09s7m7h398aryn7hbysyg"))))
(build-system go-build-system)
(arguments
(list
;; TODO: Not ready packages required for tests and full build.
;; (propagated-inputs
;; (list
;; go-github-com-beevik-etree
;; go-github-com-coreos-go-systemd
;; go-github-com-dop251-goja
;; go-github-com-fxamacker-cbor
;; go-github-com-go-git-go-git
;; go-github-com-google-go-containerregistry
;; go-github-com-hokaccha-go-prettyjson
;; go-github-com-mitchellh-hashstructure
;; go-github-com-segmentio-ksuid
;; go-github-com-tliron-yamlkeys
;; go-github-com-zchee-color
;; go-k8s-io-apiextensions-apiserver
;; go-k8s-io-klog))
#:skip-build? #t
#:tests? #f
#:import-path "github.com/tliron/kutil"))
(home-page "https://github.com/tliron/go-kutil")
(synopsis "Utility library for Golang")
(description
"This package provides a collection of Golang utilities.")
(license license:asl2.0)))
(define-public go-github-com-tomwright-dasel-v2
(package
(name "go-github-com-tomwright-dasel-v2")
@@ -24052,6 +24241,31 @@ deltas can be applied to a JSON object to \"patch\" them.")
common sequence} values from two arbitrary arrays.")
(license license:expat)))
(define-public go-github-com-yuin-goldmark-meta
(package
(name "go-github-com-yuin-goldmark-meta")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yuin/goldmark-meta")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07dnwpkcifk9lw25ncflwdzmp8xqwbsbq0bnw3v7ljz9i8zi3ya3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/yuin/goldmark-meta"))
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-yuin-goldmark))
(home-page "https://github.com/yuin/goldmark-meta")
(synopsis "YAML metadata extension for the goldmark markdown parser")
(description
"Extension for the @code{goldmark} markdown parser which enables
defining document metadata in the YAML format.")
(license license:expat)))
(define-public go-github-com-yuin-gopher-lua
(package
(name "go-github-com-yuin-gopher-lua")
@@ -24147,6 +24361,35 @@ Go host programs.")
from the system keyring.")
(license license:expat)))
(define-public go-github-com-zchee-color
(package
(name "go-github-com-zchee-color")
(version "2.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zchee/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0im301c9m5702lsv3qvzwmx943m9hmrpb2670zfv0z14cm7fqhls"))))
(build-system go-build-system)
(arguments
(list
#:test-flags
#~(list "-vet=off")
#:import-path "github.com/zchee/color/v2"))
(propagated-inputs (list go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable))
(home-page "https://github.com/zchee/color")
(synopsis "Color package for Golang")
(description
"Package color is an ANSI color package to output colorized or
SGR defined output to the standard output. The API can be used in several way,
pick one that suits you.")
(license license:expat)))
(define-public go-github-com-zclconf-go-cty
(package
(name "go-github-com-zclconf-go-cty")
@@ -24467,6 +24710,31 @@ It is a maintained fork of @url{gorilla/schema,
https://github.com/gorilla/schema}")
(license license:bsd-3)))
(define-public go-github-com-zk-org-pretty
(package
(name "go-github-com-zk-org-pretty")
(version "0.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zk-org/pretty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "086zcjamclnn3y9w4ww88ik9avwihbxk7h08vk7686643i1zij96"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/zk-org/pretty"))
(propagated-inputs (list go-github-com-rogpeppe-go-internal
go-github-com-kr-text))
(home-page "https://github.com/zk-org/pretty")
(synopsis "Pretty printing for Golang values")
(description
"This package provides a pretty printing library for Golang values.")
(license license:expat)))
(define-public go-github-com-zyedidia-clipper
(package
(name "go-github-com-zyedidia-clipper")
@@ -25802,6 +26070,34 @@ distributions of benchmark measurements
(list
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
(define-public go-gopkg-in-djherbis-times-v1
(package
(name "go-gopkg-in-djherbis-times-v1")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/djherbis/times")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dk087l9c927f90zrsmyxxfx5i980r952qw47j9srq2q7dd0b4ni"))
(modules '((guix build utils)))
;; Fix import path for itself in the example code (build by 'check).
(snippet '(substitute* "example/main.go"
(("github.com/djherbis/times")
"gopkg.in/djherbis/times.v1")))))
(build-system go-build-system)
(arguments
(list
#:import-path "gopkg.in/djherbis/times.v1"))
(home-page "https://github.com/djherbis/times")
(synopsis "File times for Golang")
(description
"This package allows access different file time metadata from Golang.")
(license license:expat)))
(define-public go-gopkg-in-fsnotify-v1
(package/inherit go-github-com-fsnotify-fsnotify
(name "go-gopkg-in-fsnotify-v1")
+39 -1
View File
@@ -667,7 +667,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
#~(modify-phases #$phases
(delete 'skip-TestGoPathShlibGccgo-tests)
(delete 'patch-source)
(delete 'disable-more-tests)
(add-after 'unpack 'patch-os-tests
(lambda _
(substitute* "src/os/os_test.go"
@@ -717,6 +716,45 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(substitute* "src/cmd/cgo/internal/testsanitizers/asan_test.go"
((".*arena_fail.*") ""))))
(replace 'disable-more-tests
(lambda _
#$@(cond
((target-aarch64?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 and is enabled and
;; disabled upstream with some regularity.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
;; Disable testshared by adding a build constraint that
;; excludes linux/arm64.
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
((target-arm32?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 so we disable
;; it on armhf also since we emulate armhf on aarch64.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
(else (list #t)))))
(add-after 'enable-external-linking 'enable-external-linking-1.21
(lambda _
;; Invoke GCC to link any archives created with GCC (that is,
+2 -2
View File
@@ -2948,7 +2948,7 @@ and enables interoperable use of content across the industry.")
(define-public monado
(package
(name "monado")
(version "25.0.0")
(version "25.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2957,7 +2957,7 @@ and enables interoperable use of content across the industry.")
(file-name (git-file-name name version))
(sha256
(base32
"0h4ivjqdj1qisgp1b49h3aqqjlrbd5najyd1vrhskdlz1yzz252p"))))
"09bmcqr01kakhzc26r2kmlqd1l3hqr33360qrrpmiy6mlgpsci45"))))
(build-system cmake-build-system)
(inputs
(list ffmpeg
+2 -20
View File
@@ -1009,9 +1009,8 @@ application suites.")
(define-public gtk+
(package
(inherit gtk+-2)
(replacement gtk+/fixed)
(name "gtk+")
(version "3.24.49")
(version "3.24.51")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1020,7 +1019,7 @@ application suites.")
(file-name (git-file-name name version))
(sha256
(base32
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
@@ -1141,23 +1140,6 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(define-public gtk+/fixed
(let* ((base gtk+)
(source (package-source base)))
(package
(inherit base)
(version "3.24.51")
(source
(origin
(inherit source)
(uri (git-reference
(inherit (origin-uri source))
(commit version)))
(file-name (git-file-name (package-name base) version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")))))))
(define-public gtk
(package
(name "gtk")
+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.
+131
View File
@@ -0,0 +1,131 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages hare-apps)
#:use-module (gnu packages hare-xyz)
#:use-module (gnu packages man)
#:use-module (guix build-system hare)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public bonsai
(package
(name "bonsai")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/bonsai")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "148rccbh5alpnz36ricv8y26qyrqwm4g7mj936vpwrxwd9dkwmff"))))
(build-system hare-build-system)
(inputs (list hare-ev hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://bonsai.builtwithhare.org")
(synopsis "Finite State Machine structured as a tree that trigger commands")
(description "Bonsai is a Finite State Machine structured as a tree. It
has been designed to trigger commands when successive events and/or a precise
context is accepted. There is 4 kind of transition with specific acceptance
rules:
@itemize
@item event transition: The received event name match the transition
one
@item context transition: The state context match the transition one @item
exec transition: The transition command is run and succeed
@item delay
transition: The state wait for the delay transition duration. No other
accepted event is received while waiting
@end itemize
The state will transition following every accepted transition. If there is no
more available transition, the state goes back to the initial position.")
(license license:agpl3+)))
(define-public hare-lsp
(package
(name "hare-lsp")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~whynothugo/hare-lsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1h763ynv1zh2ili26bkd9anmv8srva63rwpv2avnmimia1bvsx81"))))
(build-system hare-build-system)
(inputs (list hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~whynothugo/hare-lsp/")
(synopsis "Language server implementation for Hare")
(description "This package provides a language server implementation for
Hare.")
(license license:isc)))
(define-public hare-mcron
(package
(name "hare-mcron")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/mcron")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18h85fpxa2hs3fr132j85qh8b73dsawcn845ifk8ffgvh2kmw9zl"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(inputs (list hare-ev))
(supported-systems %hare-supported-systems)
(home-page "https://mcron.builtwithhare.org/")
(synopsis "Sleeping cron job scheduler")
(description "Mcron is a cron implementation that is designed to be used
on suspendable machines, like mobile phones. It will wake the device from
suspension to trigger the tasks.")
(license license:gpl3+)))
(define-public sxmobar
(package
(name "sxmobar")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/sxmobar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dlw4sbf3awzxvglmfml5fmi9w6zmqxr2f4xqsrwchi154bixix9"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(supported-systems %hare-supported-systems)
(home-page "https://sxmobar.builtwithhare.org")
(synopsis "Status bar component manager")
(description "sxmobar is a status bar component manager. It is used to
generate status lines for @command{i3status}, @command{i3bar},
@command{swaybar}, and others.")
(license license:agpl3+)))
+20
View File
@@ -48,6 +48,26 @@
(description "This package provides compression algorithms for Hare.")
(license license:mpl2.0)))
(define-public hare-ev
(package
(name "hare-ev")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-ev")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ak9anvzg2qfdsvxpcszshimw5cqbm52zfq7kwx7z0yf6qi6zm0f"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-ev")
(synopsis "Event loop for Hare")
(description "This package provides an event loop for Hare programs.")
(license license:mpl2.0)))
(define-public hare-json
(package
(name "hare-json")
+7 -8
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)
@@ -344,7 +345,8 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(inherit (package-source hurd-headers))
(patches (search-patches "hurd-refcounts-assert.patch"
"hurd-rumpdisk-no-hd.patch"
"hurd-startup.patch"))))
"hurd-startup.patch"
"hurd-proc-zombies.patch"))))
(version (package-version hurd-headers))
(arguments
`(#:tests? #f ;no "check" target
@@ -389,12 +391,6 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(("#include <rpc/pmap_prot.h>" m)
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
#t))
,@(if (%current-target-system)
'((add-after 'configure 'fixup-cross-configure
(lambda _
(substitute* "config.make"
(("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
'())
(add-before 'build 'pre-build
(lambda _
;; Don't change the ownership of any file at this time.
@@ -583,7 +579,9 @@ exec ${system}/rc \"$@\"
(string-append datadir "/vga-system.bdf"))))))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
#$output "/lib")
#$output "/lib"
;; Linking with librump.so
" -Wl,--as-needed")
"--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi"
"--disable-ncursesw"
"--without-libbz2"
@@ -597,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)
+9 -3
View File
@@ -180,7 +180,7 @@ Magnetic Resonance Imaging.")
(define-public cimg
(package
(name "cimg")
(version "3.5.5")
(version "3.6.5")
(source
(origin
(method git-fetch)
@@ -189,7 +189,7 @@ Magnetic Resonance Imaging.")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
(base32 "1zdw1mbwl2g0ka1gasq9l706aral0l2mfsc0vmvq2szn90l2i455"))))
(build-system copy-build-system)
(arguments
(list
@@ -645,7 +645,13 @@ different data arrays similar to those available in the numdiff software.")
(substitute* "modules/photo/test/test_hdr.cpp"
(("0\\.131") "0.222"))
;; These tests hang forever on aarch64.
(delete-file-recursively "modules/videoio/test/"))
(delete-file-recursively "modules/videoio/test/")
;; This test fails on aarch64 due to floating-point precision
;; differences with ARM NEON.
;; Expected: RMSE <= 0.34, actual: 0.407627
(substitute* "../opencv-contrib/modules/optflow/test/test_OF_accuracy.cpp"
(("\\bReferenceAccuracy\\b" all)
(string-append "DISABLED_" all))))
'())
,@(if (target-riscv64?)
+2 -2
View File
@@ -874,14 +874,14 @@ preloading.")
(define-public chafa
(package
(name "chafa")
(version "1.16.2")
(version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
version ".tar.xz"))
(sha256
(base32
"1pv1g2gcn4qn27bkwm1g1k87nb1yq0gzw7jclhq53d49kbfrhy35"))))
"1nyakydm8f4kshhdqg35ckfa62nxk54i41npva4jw15q3927ax6d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
+1 -1
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
+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
+70 -1
View File
@@ -11,9 +11,14 @@
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -198,6 +203,70 @@ simulation, statistical modeling, machine learning and much more.")
(modify-inputs (package-propagated-inputs parent)
(replace "python-jupyter-client" python-jupyter-client-bootstrap)))))))
(define-public python-jupytext
(package
(name "python-jupytext")
(version "1.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwouts/jupytext")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01vvi5aab7lahj57ng5v4svjw18xrlgnasz877lqvdf4m6cpi8s9"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 4017 passed, 173 skipped, 2 deselected, 1 warning
#:test-flags
#~(list
;; Requires git.
"--ignore=tests/external"
;; Requires python-black.
"--ignore=tests/functional/contents_manager"
;; Failed: DID NOT RAISE <class 'ValueError'>.
(string-append "--deselect=tests/functional/cli/test_source_is_newer.py"
"::test_check_source_is_newer_when_using_jupytext_to")
;; Failed: DID NOT RAISE <class 'jupytext.cli.SynchronousModificationError'>.
(string-append "--deselect=tests/functional/cli/test_synchronous_changes.py"
"::test_jupytext_to_raises_on_synchronous_edits"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; some tests fail when HOME=/homeless-shelter.
(setenv "HOME" "/tmp")
;; OSError: [Errno 18] Invalid cross-device link
(setenv "TMPDIR" "/tmp"))))))
(native-inputs
(list python-hatchling
python-jupyter-client
python-jupyter-server
python-pytest
python-pytest-asyncio))
(propagated-inputs
(list python-markdown-it-py
python-mdit-py-plugins
python-nbformat
python-packaging
python-pyyaml))
(home-page "https://jupytext.readthedocs.io/")
(synopsis
"Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
(description
"Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
either Markdown files or scripts in many languages. Common use cases for
Jupytext are:
@itemize
@item version control on Jupyter Notebooks
@item editing, merging or refactoring notebooks in your favorite text editor
@item applying Q&A checks on notebooks.
@end itemize ")
(license license:expat)))
(define-public python-nbclassic
(package
(name "python-nbclassic")
-147
View File
@@ -219,32 +219,6 @@ used from QtQuick applications for both simple display of data as well as
continuous display of high-volume data.")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kquickcharts-5
(package
(inherit kquickcharts)
(name "kquickcharts")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/frameworks/"
(version-major+minor version)
"/" name "-" version ".tar.xz"))
(sha256
(base32
"1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j"))))
(build-system cmake-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "Xvfb :1 -screen 0 640x480x24 &")
(setenv "DISPLAY" ":1")
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest")))))))
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
xorg-server-for-tests))))
(define-public kuserfeedback
;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
@@ -1265,26 +1239,6 @@ but also for getting notified upon idle time events, such as custom timeouts,
or user activity.")
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public kidletime-5
(package
(inherit kidletime)
(name "kidletime")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh"))))
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
(list libxscrnsaver ; X-Screensaver based poller, fallback mode
qtbase-5 qtx11extras))))
(define-public kirigami
(package
(name "kirigami")
@@ -1401,26 +1355,6 @@ model to observers
@end enumerate")
(license license:lgpl2.1+)))
(define-public kitemmodels-5
(package
(inherit kitemmodels)
(name "kitemmodels")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtdeclarative-5))
(arguments '())))
(define-public kitemviews
(package
(name "kitemviews")
@@ -1570,27 +1504,6 @@ integration with a custom editor as well as a ready-to-use
(properties `((upstream-name . "syntax-highlighting")))
(license license:lgpl2.1+)))
(define-public ksyntaxhighlighting-5
(package
(inherit ksyntaxhighlighting)
(name "ksyntaxhighlighting")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
"syntax-highlighting-" version ".tar.xz"))
(sha256
(base32
"19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g"))))
(native-inputs
(list extra-cmake-modules perl qttools-5
;; Optional, for compile-time validation of syntax definition files:
qtxmlpatterns-5))
(inputs
(list qtbase-5))))
(define-public plasma-wayland-protocols
(package
(name "plasma-wayland-protocols")
@@ -2183,25 +2096,6 @@ ASpell and HUNSPELL.")
uses a job-based interface to queue tasks and execute them in an efficient way.")
(license license:lgpl2.1+)))
(define-public threadweaver-5
(package
(inherit threadweaver)
(name "threadweaver")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1q7ax3dhsayz35j0l9pdmarkwfyyy1dsy2crdf5xz8pr5mjxq8wp"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtbase-5))))
;; Tier 2
;;
@@ -2610,47 +2504,6 @@ used by file indexers to retrieve the metadata. This library can also be used
by applications to write metadata.")
(license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
(define-public kfilemetadata-5
(package
(inherit kfilemetadata)
(name "kfilemetadata")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"13yfcy02rmhrhf8lxv7smk1n9rg1ywsh60hwzm94b8hq9a62qp0r"))))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
"(usermetadatawritertest|taglibextractortest)")))))))
(native-inputs (list extra-cmake-modules pkg-config))
(inputs
(list attr
ebook-tools
karchive-5
kconfig-5
kcoreaddons-5
ki18n-5
qtmultimedia-5
qtbase-5
;; Required run-time packages
catdoc
;; Optional run-time packages
exiv2
ffmpeg
poppler-qt5
taglib))))
(define-public kimageannotator
(package
(name "kimageannotator")
+47 -1
View File
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,7 +56,8 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public calligra
(package
@@ -283,6 +285,50 @@ processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
cmark processors if they are installed.")
(license license:gpl3+)))
(define-public klevernotes
(package
(name "klevernotes")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/klevernotes/" version
"/klevernotes-" version ".tar.xz"))
(sha256
(base32 "0jnnbsml29gmpbycx8b012rnzdnjfigp9d6wsaww085mql0rdf73"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:configure-flags
#~(list "-DBUILD_TESTING:BOOL=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xorg-server
(lambda _
(system "Xvfb :99 -screen 0 1024x768x24 &")
(setenv "DISPLAY" ":99.0"))))))
(native-inputs (list extra-cmake-modules xorg-server))
(inputs (list kconfigwidgets
kcoreaddons
ki18n
kiconthemes
kio
kirigami
kirigami-addons
kitemmodels
qqc2-desktop-style
qtsvg
qtwayland
qtwebengine
sonnet))
(home-page "https://apps.kde.org/klevernotes/")
(synopsis "Note taking and management application")
(description
"KleverNotes is a note taking and management application. It uses Markdown
and allows you to preview your content.")
(license license:gpl3+)))
(define-public tellico
(package
(name "tellico")
+12 -49
View File
@@ -1455,51 +1455,6 @@ you login.")
(home-page "https://invent.kde.org/plasma/kwallet-pam")
(license (list license:lgpl2.1+))))
(define-public kwayland-integration
(package
(name "kwayland-integration")
(version "6.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/"
version "/" name "-"
version ".tar.xz"))
(sha256
(base32
"01jxpl0zbz8pbnrbxw9bnn148mr03rrf86ryl627cqx8k4p9842d"))))
(build-system qt-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest"))))
(add-before 'check-after-install 'check-setup
(lambda* (#:key outputs #:allow-other-keys)
(setenv "QT_PLUGIN_PATH"
(string-append #$output
"/lib/qt5/plugins:"
(getenv "QT_PLUGIN_PATH"))))))))
(native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
(inputs (list kguiaddons-5
kidletime-5
kwindowsystem-5
kwayland-5
libxkbcommon
wayland
plasma-wayland-protocols
qtbase-5
qtwayland-5))
(synopsis "KWayland runtime integration plugins")
(description "This package provides Wayland integration plugins for various
KDE Frameworks components.")
(home-page "https://invent.kde.org/plasma/kwayland-integration")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kwin
(package
(name "kwin")
@@ -1520,7 +1475,7 @@ KDE Frameworks components.")
#: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"
@@ -1562,7 +1517,9 @@ KDE Frameworks components.")
"kwin-testFractionalRepaint"
"kwin-testDrmLegacy"
"kwin-testInputCapture"
"kwin-testMockDrm")
"kwin-testMockDrm"
"kwin-testSecurityContext"
"kwin-testXwaylandSelection")
"|")
")")
#:phases
@@ -2232,11 +2189,17 @@ the KDE Plasma 6 desktop.")
(arguments
(list #:qtbase qtbase
#:test-exclude
;; The tst_calibrationtool test fails on aarch64 due to floating-point
;; precision: QMatrix4x4 comparison fails with tiny differences
;; (1.11759e-08 instead of exact 0).
(string-append "("
(string-join '("positionertest"
(string-join `("positionertest"
"kcm-keyboard-keyboard_memory_\
persister_test"
"foldermodeltest")
"foldermodeltest"
,@(if (target-aarch64?)
'("tst_calibrationtool")
'()))
"|")
")")
#:phases
+7 -7
View File
@@ -116,14 +116,14 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
(let ((commit "38e9598ea1b99b69a240cc1db1d59f4357fcb95d"))
(let ((commit "fa4b12c075b42be6652237119d74346d377d2ae4"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "1bv5j16007rmyi5c6b78bk2752v38wh0hbhdm9pkbp07f45q8zlr")))))
(sha256 (base32 "1v09j9685cpwqk532yp00lsic0xakjsfafn82kilzl5s0v2a3g8w")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -220,17 +220,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20251130211358")
(define %librewolf-build-id "20251219212454")
(define-public librewolf
(package
(name "librewolf")
(version "145.0.2-2")
(version "146.0.1-1")
(source
(make-librewolf-source
#:version version
#:firefox-hash "13c5hk7v71kzqw8zmqqyc8n0gcakmzpksh28npr52yylnp3b9ifp"
#:librewolf-hash "160mdkdqzff7kcrn7xi5hjsjsz52zf21mq4fcplhdnm1xrwwn4p2"
#:firefox-hash "1swih4jljq162vgdl2m2d8xn4s4hj4vjqcfww59kk4kkhh78lrz9"
#:librewolf-hash "13gxagaibv0bmn34rz3hfkfy7rgdksl635znmrq24l8v80y792ii"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
@@ -678,7 +678,7 @@
pkg-config
python
rust-librewolf
rust-cbindgen-0.28
rust-cbindgen-0.29
which
yasm))
(native-search-paths
+92 -67
View File
@@ -529,7 +529,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.17-version "6.17.10")
(define-public linux-libre-6.17-version "6.17.12")
(define-public linux-libre-6.17-gnu-revision "gnu")
(define deblob-scripts-6.17
(linux-libre-deblob-scripts
@@ -539,7 +539,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14fypjidk49l0799dbi1pacy37ks94k0bs38cck2y4glxfpbfqr6")))
(define-public linux-libre-6.17-pristine-source
(let ((version linux-libre-6.17-version)
(hash (base32 "1kf8slgkvv9x6i1111l78p93y65rscdxarh05spx1njh797k8zzs")))
(hash (base32 "1mlqirjzyx3zvvm87gf7slj2d5gdpp13vw91dgbfk54iz6b08y22")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.17)))
@@ -548,67 +548,67 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.12-version "6.12.60")
(define-public linux-libre-6.12-version "6.12.62")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
linux-libre-6.12-version
linux-libre-6.12-gnu-revision
(base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp")
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
(base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
(hash (base32 "1y6wkk4500pisk9l2dibmidqix1gpci7dy6brs1xc4bl2jr9cc56")))
(hash (base32 "04rcnr7bgrqqfj62l31mxx553bjdalr5f46xjbcmvawgmj2wdqhk")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
(define-public linux-libre-6.6-version "6.6.118")
(define-public linux-libre-6.6-version "6.6.119")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
linux-libre-6.6-version
linux-libre-6.6-gnu-revision
(base32 "1fph0cf5vwkxcyz2cay4d70sqw1y02dx3shfclhp9y4nmkk169pq")
(base32 "0y3lawljby2rl0mb0yjdyaasci4pl935y8xa0dnmbzff23knkxlw")
(base32 "11i7pvm5n31rvp05msbm3ciclr84cz9c94f5r5aa6mmzhslwpbxk")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "0zdifhri9flxa99hzrk9bz8yqi8h1v6zpsvldz9cibvlakixrpab")))
(hash (base32 "1s75ad95g4y80idadzqmj9kj4rb3dhnvny9lg4lcq15l1fc9p81x")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.158")
(define-public linux-libre-6.1-version "6.1.159")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "00yh14z7sr9pkakkkpdyp8fj41d56a306xsf5yb2lzm0sgl6lvza")
(base32 "10gcbkd5jxfspa712kvb3qmsjgsapd9cz47pmpfk03bbfzf8ydlv")
(base32 "0f3jgbfd2j7sz7h1hb30s1r9147g1cbb3ia09k9834fvbiz1ihaa")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "1nmz4rknw82k9ylyrbm4g2m0hh4lmgkwi1g3gm7hzv04nvyqn1md")))
(hash (base32 "17ib6ila2s8rclqpfxlkk1g72azj2r46k2x1q3n2j24qjfz7w80z")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.196")
(define-public linux-libre-5.15-version "5.15.197")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "14dajb391lr4y2llvjihilmzwvrq4gjbgvrha7dvh6vv4jmbi28v")
(base32 "0b2gd83ihxlq490gpgq930misc6jrckw4rzl7fvwd0qzczqjvff5")
(base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "018ffzi91xh46l7r3fgc4mpri3pxzl6wc1n946vny0lbb59pj5c3")))
(hash (base32 "12k6c09lgs4ahmxbrg8g3q1ngldajmzyz7y2nr1l8yhhwbw8s8gx")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.246")
(define-public linux-libre-5.10-version "5.10.247")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -618,12 +618,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0r1whrfhhhjyvppiidhihcvyzcab6dva6g9a4div8jkxm62s2cq3")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "0xd8r8qqgxh3zhqkl4a5plmgsycxrffhpc9q2rwhkp6jd717cszb")))
(hash (base32 "037yv5lryfanpfbk3z60yfsx14nskgf386b6cfkbzn7wl5xvij3h")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.301")
(define-public linux-libre-5.4-version "5.4.302")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -633,7 +633,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0l7pwhgw9laxfypcpqlz411x3hybcw2269abh3lpcw96bgv5m1k2")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0qkra8ci2mx5p8ngdys2ixsl9s30qdqlq027pr5p3rk0s1k8fwdp")))
(hash (base32 "0ga2q6lf6xvb7pb6kn2prgywsvsavb4kwygsn37xd91ay43k4smf")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
@@ -8073,7 +8073,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
(define-public rdma-core
(package
(name "rdma-core")
(version "59.0")
(version "60.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core"
@@ -8081,7 +8081,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
version ".tar.gz"))
(sha256
(base32
"1rbw0nxn7h9984r44pcwvnbdz2ycdn5wsmzrbwxxr31i7fqnkhg2"))))
"1pi8jf1pibfhh3ps2kvj2y8y6yahpw7jjyp0mpxmvama9qp8j6wv"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -10012,39 +10012,70 @@ comparing system environments.")
(license license:gpl3+)))
(define-public cassini-headers
(let ((commit "9a8a738a879f007849fbc69be8e3487a4abf0952")
(revision "0"))
(package
(name "cassini-headers")
(version (git-version "2.0.0" ;per .spec file
revision commit))
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0a54vwfr29n0i392wdap7rzmq0lb8mxa17d8yljdbm0kzrq48csz"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("include" "include")
("share/cassini-headers" "share/cassini-headers"))))
(synopsis "Cassini network hardware definitions and headers")
(description
"This package provides hardware definitions and C headers for use by
(package
(name "cassini-headers")
(version "12.0.1")
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fvhk42pssw67zba4zq1b73d1m9ysc4g8sfibjmmhc0fwr92iamp"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("include" "include")
("share/cassini-headers" "share/cassini-headers"))))
(synopsis "Cassini network hardware definitions and headers")
(description
"This package provides hardware definitions and C headers for use by
the Linux driver and by user-space applications for the Cassini/Slingshot
high-speed network interconnect made by HPE (formerly Cray). User-land
software uses @file{cxi_prov_hw.h} from this package.")
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license (list license:gpl2 license:bsd-2))))) ;dual-licensed
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license (list license:gpl2 license:bsd-2)))) ;dual-licensed
(define-public cxi-driver
(package
(name "cxi-driver")
(version "13.0.0")
(home-page "https://github.com/HewlettPackard/shs-cxi-driver")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1md6ammah7ywk5k9gsxix945w5498hpdfwzr603aiirlz2x4m4wh"))))
;; TODO: Actually build the Linux driver.
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("include" "include"))))
(propagated-inputs (list cassini-headers))
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
(description
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
Currently the Linux driver itself is missing from this package.")
(license license:gpl2+)))
(define-public cxi-driver-for-libfabric-1
;; This old version defines constants such as 'CXI_MAP_IOVA_ALLOC' that
;; libfabric 1.22.0 relies on.
(let ((commit "5f0ec0ead6ef3f98542a2ef5e76b89d14dd22150")
(revision "0"))
(package
(inherit cxi-driver)
(name "cxi-driver")
(version (git-version "1.0.0" ;per .spec file
revision commit))
@@ -10056,25 +10087,12 @@ software uses @file{cxi_prov_hw.h} from this package.")
(file-name (git-file-name name version))
(sha256
(base32
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg"))))
;; TODO: Actually build the Linux driver.
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("include" "include"))))
(propagated-inputs (list cassini-headers))
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
(description
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
Currently the Linux driver itself is missing from this package.")
(license license:gpl2+))))
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg")))))))
(define-public libcxi
(package
(name "libcxi")
(version "12.0.1")
(version "13.0.0")
(home-page "https://github.com/HewlettPackard/shs-libcxi")
(source
(origin
@@ -10083,7 +10101,7 @@ Currently the Linux driver itself is missing from this package.")
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pk2mdkkgiic7nnmhx3iwvgrnxva3qqk2wyni0yhxjciln0hq7s7"))))
(base32 "1m8mds1h8plhfn2ja9br31xaiy82ky69685cp1rznanl18inaiff"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -10127,7 +10145,7 @@ known as Slingshot.")
(define-public libfabric
(package
(name "libfabric")
(version "2.3.0")
(version "2.3.1")
(source
(origin
(method url-fetch)
@@ -10135,7 +10153,7 @@ known as Slingshot.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "02gb12ijj19aad4c3dwckrrnjlsmy9fizkgw8a5zdzpqd3lgq60x"))))
(base32 "0npkfkkhyir31r2p1zsfi7yrvcam60fp8ps4s2csjc2drqbrz4rf"))))
(build-system gnu-build-system)
(inputs
(let ((if-supported ;XXX: modified from openmpi
@@ -10196,7 +10214,10 @@ libraries, which are often integrated directly into libfabric.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))))
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))
(inputs
(modify-inputs (package-inputs libfabric)
(append cxi-driver-for-libfabric-1)))))
(define-public psm
(package
@@ -12178,7 +12199,7 @@ directly by @code{make localmodconfig} as described above.")
(define-public kernel-hardening-checker
(package
(name "kernel-hardening-checker")
(version "0.6.10")
(version "0.6.17.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -12187,8 +12208,12 @@ directly by @code{make localmodconfig} as described above.")
(file-name (git-file-name name version))
(sha256
(base32
"01p5wcyj4w5c4264abymhvpai7bvfy8ivspgqnrmg33qplwxl443"))))
(build-system python-build-system)
"04r9bbayhs1ik84908q148k9djawy69zarxw0vc31dfbf64mni62"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no active tests, runtime only, see GitHub Actions
(native-inputs
(list python-setuptools))
(home-page "https://github.com/a13xp0p0v/kernel-hardening-checker")
(synopsis
"Tool for checking the security hardening options of the Linux kernel")
+31 -33
View File
@@ -34550,40 +34550,38 @@ arrangements.")
(sbcl-package->clasp-package sbcl-xhtmlambda))
(define-public sbcl-xkbcommon
(let ((commit "aa9513d93f42d7816f88dd1bd8bd21375e7d7512")
(revision "0"))
(package
(name "sbcl-xkbcommon")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sdilts/cl-xkbcommon")
(commit commit)))
(file-name (git-file-name "cl-xkbcommon" version))
(sha256
(base32 "02zdbkh7yliw9vg8i8wx2xgcpfni0fr4z0w19kkxvaib8xm9rx1q"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xkbcommon.lisp"
(("libxkbcommon.so.0")
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
(native-inputs
(list pkg-config))
(inputs
(list libxkbcommon
sbcl-cffi))
(home-page "https://github.com/sdilts/cl-xkbcommon")
(synopsis "Common Lisp FFI bindings for xkbcommon")
(description
"This package provides Common Lisp FFI bindings for xkbcommon
(package
(name "sbcl-xkbcommon")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sdilts/cl-xkbcommon")
(commit version)))
(file-name (git-file-name "cl-xkbcommon" version))
(sha256
(base32 "0qkaamc8sikpn2q6z21s8249sygszj6bhd0slr8f77k9c2ph1mbb"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xkbcommon.lisp"
(("libxkbcommon.so.0")
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
(native-inputs
(list pkg-config))
(inputs
(list libxkbcommon
sbcl-cffi))
(home-page "https://github.com/sdilts/cl-xkbcommon")
(synopsis "Common Lisp FFI bindings for xkbcommon")
(description
"This package provides Common Lisp FFI bindings for xkbcommon
(libxkbcommon) using cffi-grovel.")
(license license:expat))))
(license license:expat)))
(define-public cl-xkbcommon
(sbcl-package->cl-source-package sbcl-xkbcommon))
+18 -1
View File
@@ -523,6 +523,12 @@ Definition Facility.")
;; MIT License
(license license:expat)))
(define (make-clisp-tests-locales)
(make-glibc-utf8-locales
glibc
#:locales (list "de_DE" "en_US" "fr_FR" "ru_RU")
#:name "clisp-tests-locales"))
(define-public clisp
(package
(name "clisp")
@@ -539,6 +545,7 @@ Definition Facility.")
(build-system gnu-build-system)
(native-inputs
(list
(make-clisp-tests-locales)
cl-asdf
coreutils)) ;to use "cat" in a test
(inputs
@@ -593,7 +600,17 @@ Definition Facility.")
"/share/common-lisp/source/asdf/asdf.lisp"))
(contrib-asdf "modules/asdf/asdf.lisp"))
(delete-file contrib-asdf)
(copy-file guix-asdf contrib-asdf)))))))
(copy-file guix-asdf contrib-asdf))))
(add-after 'configure 'patch-parallel-tests
(lambda _
;; Parallel runs of test are causing a lot of non-determinism
;; in clisp. This doesn't fix the non-determinism completely,
;; but it makes the package build more times than before.
;; NOTE: this doesn't seem to take much more time than
;; the parallel tests.
(substitute* "src/Makefile"
((" check-tests-parallel ") " check-tests-all "))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
+6 -2
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
@@ -2189,7 +2193,7 @@ cling '#include <stdio.h>' 'printf(\"Hello World!\\n\");'
"-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC;SystemZ;Mips"
;; Python llvm.py adds this (not build-script-impl).
;; This would also enable dump() by undefining NDEBUG.
; FIXME: "-DLLVM_ENABLE_ASSERTIONS=TRUE"
"-DLLVM_ENABLE_ASSERTIONS=TRUE"
"-DLLVM_LIT_ARGS=-sv -j 16"
(string-append "-DGCC_INSTALL_PREFIX="
(assoc-ref %build-inputs "gcc-lib"))
+6 -6
View File
@@ -434,7 +434,7 @@ with different rules and mechanics.")
(define-public luanti-mineclonia
(package
(name "luanti-mineclonia")
(version "0.117.1")
(version "0.118.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -443,18 +443,18 @@ with different rules and mechanics.")
(file-name (git-file-name name version))
(sha256
(base32
"0iq153dyijbfbvp30fcvbbgvca9c3c6szpw04svwc08ar4h5yvl7"))))
"1k9271bcf9llw5zya40dqzx8dx1086ydy2fhjnjv3pf788f6501m"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." "share/luanti/games/mineclonia"))))
(home-page "https://content.luanti.org/packages/ryvnf/mineclonia/")
(synopsis "An unofficial Minecraft-like game for Luanti")
(synopsis "Unofficial Minecraft-like game for Luanti")
(description
"Mineclonia is a stable and performant clone of Minecraft,
released as free software. It aims to clone Minecraft as well as
Luanti currently permits without resorting to hacks which are too
heavyweight or complicated to maintain.")
released as free software. It aims to clone Minecraft as well as Luanti
currently permits without resorting to hacks which are too heavyweight or
complicated to maintain.")
(license license:gpl3+)))
(define-public luanti-voxelibre
+9 -5
View File
@@ -210,14 +210,18 @@ representations and sentence classification.")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autograd-gamma" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/CamDavidsonPilon/autograd-gamma")
;; The 5.0.0 version is not tagged, but can only be this commit.
(commit "5876e0320865c592ed4a370c6a6ef282cf163480")))
(file-name (git-file-name name version))
(sha256
(base32 "1i699a9m5ndnj8cwzjjf2agb77aawhzrzxfbmn5zrkxridxvnypj"))))
(base32 "0hpjnpw7bsy1xja4pnxx5fvv7xly72lp3hdazhr9zbmn6s7vcs19"))))
(build-system pyproject-build-system)
(native-inputs
(list python-setuptools
python-wheel))
(list python-pytest
python-setuptools))
(propagated-inputs
(list python-autograd
python-scipy))

Some files were not shown because too many files have changed in this diff Show More