From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id WWeWBnGZlF9zPQAA0tVLHw (envelope-from ) for ; Sat, 24 Oct 2020 21:15:29 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 8P3YAXGZlF8adwAAB5/wlQ (envelope-from ) for ; Sat, 24 Oct 2020 21:15:29 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 925C1940111 for ; Sat, 24 Oct 2020 21:15:28 +0000 (UTC) Received: from localhost ([::1]:51086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kWQsp-00050i-JR for larch@yhetil.org; Sat, 24 Oct 2020 17:15:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42044) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kWQsQ-00050A-5h for bug-guix@gnu.org; Sat, 24 Oct 2020 17:15:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51984) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kWQsP-0000XT-Rw for bug-guix@gnu.org; Sat, 24 Oct 2020 17:15:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kWQsP-0006oU-KT for bug-guix@gnu.org; Sat, 24 Oct 2020 17:15:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#44196: [PATCH 3/3] gnu: grub: Add output locale Resent-From: Miguel =?UTF-8?Q?=C3=81ngel?= Arruga Vivas Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 24 Oct 2020 21:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44196 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 44196@debbugs.gnu.org Received: via spool by 44196-submit@debbugs.gnu.org id=B44196.160357405626110 (code B ref 44196); Sat, 24 Oct 2020 21:15:01 +0000 Received: (at 44196) by debbugs.gnu.org; 24 Oct 2020 21:14:16 +0000 Received: from localhost ([127.0.0.1]:35297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWQrg-0006n4-El for submit@debbugs.gnu.org; Sat, 24 Oct 2020 17:14:16 -0400 Received: from mail-wm1-f45.google.com ([209.85.128.45]:33459) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kWQrd-0006mr-MS for 44196@debbugs.gnu.org; Sat, 24 Oct 2020 17:14:15 -0400 Received: by mail-wm1-f45.google.com with SMTP id l20so2701913wme.0 for <44196@debbugs.gnu.org>; Sat, 24 Oct 2020 14:14:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=i2GPx8M8aFWJ3P84g9AhlwgjoEePAjN7Apk3W1qAc5E=; b=CB8iVNkXD41OpFTdajq87B5YZjnkTGiFwAbOAJOTaMqGRcAEbEqjYJ36hIToh7H+mw CknOLGTG0YzrYXMp40P1PdZdK4qH+dCUqf9/qn7LhKFbv1sU90kOETs5Q90f7f//D9n7 ziOKKGbXhHiRvQszNT1KrxmHhN4rG3hCIYme1Cw5TCM2krhOJHM+gBH9L7jJUHPJ4baz u2MjalxdJEajvVzk8QOs5UPRCpQKpsGtvPjSu6wUg7isI9hTmalT0DtW4LCZ50yDyYzN J65AkzOGzV5fgOnGcFQJWriFwUYYdTrSMurCLaX+iCulodL3IMQ1gaSOqcmQWST+kdi9 RGzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=i2GPx8M8aFWJ3P84g9AhlwgjoEePAjN7Apk3W1qAc5E=; b=OMhF1LB5DH6J9ZWsZwAkcXbJ+s1No3qfA4OfCCP+WLUa2Wt3M0Alh7fRH9skyt/tIv l4F7E9jvPVrMZxsZ2+Nb2DixSojH8Qc9UwV2sZmFiKj6NCcmLiZjahJ99F8sheiUq7yu nvMu6/khyltBJWYnEIw84Y0Rsd9pfZV4EHlbESYPRjgOfgPfgyHGxG1urVKwmYsUJPnh ajd06u0/IWPAOaYfLEXkBm9YXoP2fOZdDqFthEtiPUNAovOL1FAgqahF6bj2H/l9F9zp kqPq7iEbxF+NKM3jD61ZX16AdL785qO7nLTpEEtTGdRxchtbEMhc34xoLqzureWbTThM tSEw== X-Gm-Message-State: AOAM531Hid9H6vfd8GiPrjv3KVolj96wG80J84ccaJH70NNUMpDZSQVE 4Ikxj5KbLBCvfgoTLrMy/5WsRMniYElLjw== X-Google-Smtp-Source: ABdhPJwvY5DzV8SAAOprKEvey17ce9RLUXz7zJ3gFsx4HVFXfOZPvdp7t5bC96iASJ768I6JpruOtg== X-Received: by 2002:a1c:32c6:: with SMTP id y189mr8980161wmy.51.1603574047447; Sat, 24 Oct 2020 14:14:07 -0700 (PDT) Received: from unfall (218.139.134.37.dynamic.jazztel.es. [37.134.139.218]) by smtp.gmail.com with ESMTPSA id t83sm13250182wmt.43.2020.10.24.14.14.06 for <44196@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Oct 2020 14:14:06 -0700 (PDT) From: Miguel =?UTF-8?Q?=C3=81ngel?= Arruga Vivas References: <878sbvh5j4.fsf@gmail.com> Date: Sat, 24 Oct 2020 23:13:05 +0200 In-Reply-To: <878sbvh5j4.fsf@gmail.com> ("Miguel =?UTF-8?Q?=C3=81ngel?= Arruga Vivas"'s message of "Sat, 24 Oct 2020 19:56:15 +0200") Message-ID: <87tuujfhum.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -0.8 (/) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=CB8iVNkX; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: WFKyTW9EeLIU --=-=-= Content-Type: text/plain Hi! This solves Grub localization too, even though I'm not very happy with the gexp juggling... Any idea? Happy hacking! Miguel --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-grub-Add-output-locale.patch Content-Description: 0003-gnu-grub-add-locale-output.patch >From 333a12f2eff427986efd0ed660fff7d7bb113839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?= Date: Sat, 24 Oct 2020 20:36:21 +0200 Subject: [PATCH 3/3] gnu: grub: Add output locale. * gnu/bootloader/grub.scm (define-module): Use (guix packages). (grub-configuration-file)[locale-config]: Use grub:locale output. * gnu/packages/bootloaders.scm (grub)[outputs]: Define output "locale". [arguments]: Populate "locale" output with new phase 'install-locale. --- gnu/bootloader/grub.scm | 34 +++++++++++++++++++++++----------- gnu/packages/bootloaders.scm | 17 ++++++++++++++++- 2 files changed, 39 insertions(+), 12 deletions(-) diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index f1479024e6..fedb609095 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -25,6 +25,7 @@ (define-module (gnu bootloader grub) #:use-module (guix build union) + #:use-module (guix packages) #:use-module (guix records) #:use-module (guix store) #:use-module (guix utils) @@ -402,18 +403,29 @@ menuentry ~s { #:port #~port))) (define locale-config - #~(let ((locale #$(and locale - (locale-definition-source - (locale-name->definition locale))))) - (when locale - (format port "\ + (let* ((entry (first all-entries)) + (device (menu-entry-device entry)) + (bootloader (bootloader-configuration-bootloader config)) + (grub (bootloader-package bootloader)) + (locale-dir (normalize-file #~(format #f "~a" #$grub:locale) + (menu-entry-device-mount-point entry) + store-directory-prefix))) + #~(let ((locale #$(and locale + (locale-definition-source + (locale-name->definition locale))))) + (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)))) +~a +set locale_dir=~a +set lang=~a~%" + ;; We search an auto-generated file because the + ;; locale name might not match the .mo file name. + #$(grub-root-search device + #~(string-append #$locale-dir + "/en@quot.mo")) + #$locale-dir + locale))))) (define keyboard-layout-config (let* ((layout (bootloader-configuration-keyboard-layout config)) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d1de5cea4e..985b7b89eb 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -99,6 +99,7 @@ "grub-verifiers-Blocklist-fallout-cleanup.patch" "grub-cross-system-i686.patch")))) (build-system gnu-build-system) + (outputs '("out" "locale")) (arguments `(#:configure-flags ;; Counterintuitively, this *disables* a spurious Python dependency by @@ -148,7 +149,21 @@ (substitute* "Makefile.in" (("test_unset grub_func_test") "test_unset")) - #t))) + #t)) + (add-after 'install 'install-locale + ;; Install mo files with the expected names at boot-time. + (lambda* (#:key outputs #:allow-other-keys) + (let ((locale-out (assoc-ref outputs "locale"))) + (mkdir-p locale-out) + (for-each (lambda (file) + (let ((mo (string-append + (basename file ".gmo") + ".mo"))) + (copy-file file + (string-append locale-out + "/" mo)))) + (find-files "po" "\\.gmo$")) + #t)))) ;; Disable tests on ARM and AARCH64 platforms. #:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system) (%current-system))) -- 2.28.0 --=-=-=--