gnu: grub: Fix build for the 64bit Hurd.

* gnu/packages/patches/grub-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/bootloaders.scm (grub)[arguments]: When building for the 64bit
Hurd, use it in new "apply-hurd64-patch" stage.

Change-Id: I780f6a92418b49e5fe0d23eb1c90e155216f1428
This commit is contained in:
Janneke Nieuwenhuizen 2024-11-08 11:55:59 +01:00
parent 70ed0260b3
commit 3d664f8301
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
3 changed files with 41 additions and 0 deletions

View file

@ -1496,6 +1496,7 @@ dist_patch_DATA = \
%D%/packages/patches/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/grub-hurd64.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \

View file

@ -192,6 +192,14 @@
(setenv "BUILD_FREETYPE_CFLAGS"
(string-append "-I" freetype
"/include/freetype2"))))))
#$@(if (target-hurd64?)
#~((add-after 'unpack 'apply-hurd64-patch
(lambda _
(let ((patch
#$(local-file
(search-patch "grub-hurd64.patch"))))
(invoke "patch" "--force" "-p1" "-i" patch)))))
#~())
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:

View file

@ -0,0 +1,32 @@
Upstream-status: Not presented upstream.
From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 8 Nov 2024 11:47:49 +0100
Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
Use mach_msg_type_number_t instead of size_t.
---
grub-core/osdep/hurd/getroot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
index 0efefdab4..b849700e6 100644
--- a/grub-core/osdep/hurd/getroot.c
+++ b/grub-core/osdep/hurd/getroot.c
@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
file_t file;
error_t err;
char *argz = NULL, *name = NULL, *ret;
- size_t argz_len = 0;
+ mach_msg_type_number_t argz_len = 0;
int i;
file = file_name_lookup (path, 0, 0);
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com