Commit graph

177174 commits

Author SHA1 Message Date
Patrick Norton
c666ec3bb2
gnu: praat: Update to 6.4.49.
* gnu/packages/language.scm (praat): Update to 6.4.49.

Change-Id: Ic150bc1a9ddc76a945cb94c546640c54edc1d832
Signed-off-by: jgart <jgart@dismail.de>
2025-12-25 14:30:43 -05:00
Sergey Trofimov
82f286efb9
gnu: mpv: Update to 0.41.0.
* gnu/packages/video.scm (mpv): Update to 0.41.0.
* gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch: Remove.
* gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch: Remove.
* gnu/local.mk: Remove obsolete patches.

Change-Id: I03d942a910fc42f1fba602bc3fa98cbb8a73f44e
Signed-off-by: Ian Eure <ian@retrospec.tv>
2025-12-25 09:30:11 -08:00
jgart
e21d6a3401
gnu: Remove ecl-fmt.
* gnu/packages/lisp-xyz.scm (ecl-fmt): Delete variable.

ECL variant of this package is not reproducible. See
https://codeberg.org/guix/guix/pulls/5096#issuecomment-9209603

Change-Id: Id18e84cd3d60c4af0ca724847ad41bd24aef31ae
2025-12-25 10:57:04 -05:00
vga
dad1bd0c5e
gnu: Add cl-fmt.
* gnu/packages/lisp-xyz.scm (cl-fmt, ecl-fmt, sbcl-fmt): New variables.

Change-Id: I4c081968aa43cc02b67d0a2b71a2583562115a66
Signed-off-by: jgart <jgart@dismail.de>
2025-12-25 10:57:04 -05:00
Rutherther
e51032b257
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>
2025-12-25 13:18:48 +01:00
Rutherther
0d3f82123b
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>
2025-12-25 13:18:25 +01:00
Rutherther
addca6dba4
Merge branch 'version-1.5.0'
Change-Id: I5a36bbdb772c88f71fbe612cf6c445c34088e35c
2025-12-25 13:08:45 +01:00
Andrew Wong
0270c2624a
gnu: woof-doom: Update to 15.3.0.
* gnu/packages/games.scm (woof-doom): Update to 15.3.0.
[source]<snippet>: Adjust snippet to new version.
<patches>: Delete.
[native-inputs]: Add pkg-config.
[home-page]: Update.
[synopsis]: Revise.
[license]: Remove bsd-2 license due to de-vendored spng.
* gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.

Closes: guix/guix#5099
Change-Id: Ief520f430ec1731976da2b8883d17a982af01b14
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-25 17:32:59 +08:00
jgart
dbbad12c2e
gnu: Add hare-template.
* gnu/packages/hare-xyz.scm (hare-template): New variable.

Change-Id: Idb60178f60ea3a2b30186f90c93364ce0e165204
2025-12-25 02:38:17 -06:00
jgart
a3588223c7
gnu: Add hare-lex.
* gnu/packages/hare-xyz.scm (hare-lex): New variable.

Change-Id: I8bba7b398def292defc5a5bdbbb94b7b11bd24f5
2025-12-25 02:37:47 -06:00
jgart
05d45c847a
gnu: Add hare-irc.
* gnu/packages/hare-xyz.scm (hare-irc): New variable.

Change-Id: Id08a964246e1c7ae2d1f17fc822cf57ec516bfda
2025-12-25 00:58:31 -06:00
jgart
a42af54c73
gnu: Add hare-xml.
* gnu/packages/hare-xyz.scm (hare-xml): New variable.

Change-Id: I50ac2253ef16edbb1147ec56346f381b102586a9
2025-12-25 00:58:31 -06:00
Vinicius Monego
592a96db05
gnu: homebank: Update to 5.9.6.
* gnu/packages/finance.scm (homebank): Update to 5.9.6.

Change-Id: I9912f1ab2b1604d0fe01b05639c227425f889ce1
2025-12-24 19:40:42 -03:00
Vinicius Monego
522a1d9baf
gnu: darktable: Update to 5.4.0.
* gnu/packages/photo.scm (darktable): Update to 5.4.0.

Change-Id: Icddfad364b890d039c03c29b137bda69a8949e5d
2025-12-24 19:40:41 -03:00
Vinicius Monego
04adde463e
gnu: gmic: Update to 3.6.5.
* gnu/packages/image-processing.scm (gmic): Update to 3.6.5.

Change-Id: I195bd513e7681e3f4273c67a3a032c01401d755f
2025-12-24 19:40:41 -03:00
Vinicius Monego
df9d07838a
gnu: veusz: Update to 4.2.
* gnu/packages/maths.scm (veusz): Update to 4.2.

Change-Id: I7f1a5e403826a466b78e4ec393d74d85b95d4c9b
2025-12-24 19:40:41 -03:00
Vinicius Monego
b0146d018c
gnu: python-mapie: Update to 1.2.0.
* gnu/packages/statistics.scm (python-mapie): Update to 1.2.0.
[arguments]<#:test-flags>: Set '--pyargs mapie'.

Change-Id: Ibebb655b70aed43bd65c2071c8e623f14e122a86
2025-12-24 19:40:41 -03:00
Vinicius Monego
46c10b5d30
gnu: python-cma: Update to 4.4.1.
* gnu/packages/machine-learning.scm (python-cma): Update to 4.4.1.
[arguments]: Add '#:test-backend', '#:test-flags'.
<#:phases>: Do not override the 'check' phase.

Change-Id: I277fe650c6906323ca0dee820355faee72a4ab40
2025-12-24 19:40:37 -03:00
jgart
28d2071f71
gnu: libscfg: Update to 0.2.0.
* gnu/packages/serialization.scm (libscfg): Update to 0.2.0.
[home-page]: Update to new url.
[source]: Update to new url.

Change-Id: Ic012ffd552bb999cc8f9c60939386e94c61ae51a
2025-12-24 15:38:14 -06:00
jgart
9a01dc440c
gnu: libscfg: Improve description.
* gnu/packages/serialization.scm (libscfg)[description]: Improve description.

Change-Id: I1fd984eedcf606fcc06e78b51546ddb27c88d265
2025-12-24 15:34:25 -06:00
jgart
0b1f37ded6
gnu: Add hare-scfg.
* gnu/packages/hare-xyz.scm (hare-scfg): New variable.

Change-Id: Ie7c48a96c0639cf0d38f28e082943c8575e9937c
2025-12-24 15:34:13 -06:00
jgart
479a2f7ede
gnu: trealla: Update to 2.88.2.
* gnu/packages/prolog.scm (trealla): Update to 2.88.2.

Change-Id: I452a589dd2ed8023de78a1a90d06dae02a183e89
2025-12-23 18:33:25 -06:00
Hugo Buddelmeijer
001cd00bcd
doc: Briefly discuss default git branch name.
* doc/contributing.texi (Building from git): Discuss branch name.

Change-Id: I9ddb9318749c7974a8724355c1a6b18a98fa9e8e
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-23 10:33:24 +01:00
Rutherther
d339785a0f
gnu: guix: Update to 1.5.0rc1.
Change-Id: I5afcfb7071c559b356e435bdefb4624a2c4ffa00
2025-12-23 10:31:56 +01:00
Nicolas Goaziou
7d223c3ce5
gnu: grammalecte: Update to 2.3.0.
* gnu/packages/dictionaries.scm (grammalecte): Update to 2.3.0.
[source]: Update location.

Change-Id: Id5a9145102cdbf6f05b176e7f22e3ae5893b16a5
2025-12-23 10:11:19 +01:00
Andrew Wong
a33944f438
gnu: cantata: Update to 3.4.0.
* gnu/packages/mpd.scm (cantata): Update to 3.4.0.
[origin]: Remove unneeded bundled code.
[inputs]: Add karchive, kitemviews; remove unused libmusicbrainz, libebur128,
libmtp, mpg123, taglib.

Closes: guix/guix#5010
Change-Id: I9af0ec0f93d4d7b098217de8f77daf7cf26d90f4
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-23 16:16:30 +08: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
Andy Tai
43122908e1
gnu: mailutils: Update to 3.21.
* gnu/packages/mail.scm (mailutils): Update to 3.21.

Closes: guix/guix#5022
Change-Id: If12aa167438f205e0df0c5b7cb7661c3733fcc01
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-23 15:20:53 +08:00
Sergey Trofimov
a7739b01d7
gnu: mu: Update to 1.12.14.
* gnu/packages/mail.scm (mu): Update to 1.12.14.
[arguments]<#:phases>{patch-bin-references}: Remove upstreamed patching.

Closes: guix/guix#5048
Change-Id: I54886215da506c8600e999f8f248b369389df0c1
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-23 15:19:07 +08: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