mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: grub: Support for the Hurd.
* gnu/packages/virtualization.scm (qemu)[supported-systems]: Remove the Hurd. * gnu/packages/linux.scm (mdadm)[supported-systems]: Likewise. (lvm2)[supported-systems]: Likewise. (fuse)[supported-systems]: Likewise. * gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch: New file * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/bootloaders.scm (grub): Use it. [inputs, native-inputs]: Remove non-supported dependencies on non-supported systems. Fixes build for the Hurd.
This commit is contained in:
parent
eac54126fb
commit
654de94e74
5 changed files with 68 additions and 6 deletions
|
@ -994,6 +994,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||
%D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
|
||||
%D%/packages/patches/gspell-dash-test.patch \
|
||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
%D%/packages/patches/guile-2.2-default-utf8.patch \
|
||||
|
|
|
@ -91,7 +91,9 @@ (define-public grub
|
|||
(sha256
|
||||
(base32
|
||||
"0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
|
||||
(patches (search-patches "grub-efi-fat-serial-number.patch"))))
|
||||
(patches (search-patches
|
||||
"grub-efi-fat-serial-number.patch"
|
||||
"grub-verifiers-Blocklist-fallout-cleanup.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -152,11 +154,19 @@ (define-public grub
|
|||
|
||||
;; Depend on LVM2 for libdevmapper, used by 'grub-probe' and
|
||||
;; 'grub-install' to recognize mapped devices (LUKS, etc.)
|
||||
("lvm2" ,lvm2)
|
||||
,@(if (member (or (%current-target-system)
|
||||
(%current-system))
|
||||
(package-supported-systems lvm2))
|
||||
`(("lvm2" ,lvm2))
|
||||
'())
|
||||
|
||||
;; Depend on mdadm, which is invoked by 'grub-probe' and 'grub-install'
|
||||
;; to determine whether the root file system is RAID.
|
||||
("mdadm" ,mdadm)
|
||||
,@(if (member (or (%current-target-system)
|
||||
(%current-system))
|
||||
(package-supported-systems mdadm))
|
||||
`(("mdadm" ,mdadm))
|
||||
'())
|
||||
|
||||
;; Console-setup's ckbcomp is invoked by grub-kbdcomp. It is required
|
||||
;; for generating alternative keyboard layouts.
|
||||
|
@ -164,7 +174,11 @@ (define-public grub
|
|||
|
||||
;; Needed for ‘grub-mount’, the only reliable way to tell whether a given
|
||||
;; file system will be readable by GRUB without rebooting.
|
||||
("fuse" ,fuse)
|
||||
,@(if (member (or (%current-target-system)
|
||||
(%current-system))
|
||||
(package-supported-systems fuse))
|
||||
`(("fuse" ,fuse))
|
||||
'())
|
||||
|
||||
("freetype" ,freetype)
|
||||
;; ("libusb" ,libusb)
|
||||
|
@ -196,7 +210,9 @@ (define-public grub
|
|||
;; Dependencies for the test suite. The "real" QEMU is needed here,
|
||||
;; because several targets are used.
|
||||
("parted" ,parted)
|
||||
("qemu" ,qemu-minimal)
|
||||
,@(if (member (%current-system) (package-supported-systems qemu-minimal))
|
||||
`(("qemu" ,qemu-minimal))
|
||||
'())
|
||||
("xorriso" ,xorriso)))
|
||||
(home-page "https://www.gnu.org/software/grub/")
|
||||
(synopsis "GRand Unified Boot loader")
|
||||
|
|
|
@ -2401,6 +2401,7 @@ (define-public fuse
|
|||
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
|
||||
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\""))
|
||||
#t)))))
|
||||
(supported-systems (delete "i586-gnu" %supported-systems))
|
||||
(home-page "https://github.com/libfuse/libfuse")
|
||||
(synopsis "Support file systems implemented in user space")
|
||||
(description
|
||||
|
@ -3009,6 +3010,7 @@ (define-public lvm2
|
|||
|
||||
;; The tests use 'mknod', which requires root access.
|
||||
#:tests? #f))
|
||||
(supported-systems (delete "i586-gnu" %supported-systems))
|
||||
(home-page "https://sourceware.org/lvm2/")
|
||||
(synopsis "Logical volume management for Linux")
|
||||
(description
|
||||
|
@ -3920,6 +3922,7 @@ (define-public mdadm
|
|||
(delete 'configure))
|
||||
;;tests must be done as root
|
||||
#:tests? #f))
|
||||
(supported-systems (delete "i586-gnu" %supported-systems))
|
||||
(home-page "http://neil.brown.name/blog/mdadm")
|
||||
(synopsis "Tool for managing Linux Software RAID arrays")
|
||||
(description
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
This patch is needed to build Grub on the Hurd.
|
||||
|
||||
Taken from upstream: https://git.savannah.gnu.org/cgit/grub.git/commit//?id=dabdfa1c6a80639197d05f683a445fa8615517fe
|
||||
|
||||
From 7606547586b2d6ca1b384e15e0358d3a3ddc48a6 Mon Sep 17 00:00:00 2001
|
||||
From: David Michael <fedora.dm0@gmail.com>
|
||||
Date: Fri, 5 Jul 2019 07:45:59 -0400
|
||||
Subject: verifiers: Blocklist fallout cleanup
|
||||
|
||||
Blocklist fallout cleanup after commit 5c6f9bc15 (generic/blocklist: Fix
|
||||
implicit declaration of function grub_file_filter_disable_compression()).
|
||||
|
||||
Signed-off-by: David Michael <fedora.dm0@gmail.com>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
|
||||
---
|
||||
grub-core/osdep/generic/blocklist.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/grub-core/osdep/generic/blocklist.c b/grub-core/osdep/generic/blocklist.c
|
||||
index ea2a511b6..2d9040302 100644
|
||||
--- a/grub-core/osdep/generic/blocklist.c
|
||||
+++ b/grub-core/osdep/generic/blocklist.c
|
||||
@@ -59,7 +59,7 @@ grub_install_get_blocklist (grub_device_t root_dev,
|
||||
|
||||
grub_disk_cache_invalidate_all ();
|
||||
|
||||
- file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | FILE_TYPE_NO_DECOMPRESS);
|
||||
+ file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | GRUB_FILE_TYPE_NO_DECOMPRESS);
|
||||
if (file)
|
||||
{
|
||||
if (grub_file_size (file) != core_size)
|
||||
@@ -116,7 +116,7 @@ grub_install_get_blocklist (grub_device_t root_dev,
|
||||
|
||||
grub_file_t file;
|
||||
/* Now read the core image to determine where the sectors are. */
|
||||
- file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | FILE_TYPE_NO_DECOMPRESS);
|
||||
+ file = grub_file_open (core_path_dev, GRUB_FILE_TYPE_NONE | GRUB_FILE_TYPE_NO_DECOMPRESS);
|
||||
if (! file)
|
||||
grub_util_error ("%s", grub_errmsg);
|
||||
|
|
@ -285,7 +285,8 @@ (define-public qemu
|
|||
(license license:gpl2)
|
||||
|
||||
;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>.
|
||||
(supported-systems (delete "mips64el-linux" %supported-systems))))
|
||||
(supported-systems (fold delete %supported-systems
|
||||
'("mips64el-linux" "i586-gnu")))))
|
||||
|
||||
(define-public qemu-minimal
|
||||
;; QEMU without GUI support.
|
||||
|
|
Loading…
Reference in a new issue