¡Hola! Miguel Ángel Arruga Vivas <[email protected]> skribis:
> From 5886bdf74bda59649b3d17b691132d9d030e0fb4 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= > <[email protected]> > Date: Sat, 24 Oct 2020 20:36:21 +0200 > Subject: [PATCH] system: Do not depend on locale folder generated by > grub-install. > > * gnu/bootloader/grub.scm (define-module): Use (guix packages). > (grub-locale-folder): New computed folder. > (grub-configuration-file)[locale-config]: Use grub-locale-folder only when a > locale is needed. [...] > +(define (grub-locale-folder grub) > + "Generate a folder with the locales from GRUB." s/folder/directory/ :-) > + (define builder > + #~(begin > + (use-modules (ice-9 ftw)) > + (let ((locale (string-append #$grub "/share/locale")) > + (out #$output)) > + (mkdir out) > + (chdir out) > + (for-each (lambda (lang) > + (let ((file (string-append locale "/" lang > + "/LC_MESSAGES/grub.mo")) > + (dest (string-append lang ".mo"))) > + (when (file-exists? file) > + (copy-file file dest)))) > + (scandir locale))))) > + (computed-file "grub-boot-locale" builder)) Maybe just “grub-locales”? > + (let* ((entry (first all-entries)) > + (device (menu-entry-device entry)) > + (mount-point (menu-entry-device-mount-point entry)) > + (bootloader (bootloader-configuration-bootloader config)) > + (grub (bootloader-package bootloader)) > + (locale-dir (normalize-file (grub-locale-folder grub) > + mount-point > + store-directory-prefix))) Nitpick: maybe s/locale-dir/locales/ > + #~(let ((locale #$(and locale > + (locale-definition-source > + (locale-name->definition locale)))) > + (locale-dir #$(and locale locale-dir))) > + (when locale > + (format port "\ > # Localization configuration. > -if search --file --set boot_partition /grub/grub.cfg; then > - set locale_dir=(${boot_partition})/grub/locale > -else > - set locale_dir=/boot/grub/locale > -fi > -set lang=~a~%" locale)))) > +~asearch --file --set ~a/[email protected] > +set locale_dir=~a > +set lang=~a~%" Otherwise LGTM, thanks! Ludo’.
