guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/31: gnu: grub: Support for the Hurd.


From: guix-commits
Subject: 02/31: gnu: grub: Support for the Hurd.
Date: Thu, 19 Mar 2020 11:03:08 -0400 (EDT)

janneke pushed a commit to branch wip-hurd
in repository guix.

commit 11de0d2cee2390a529bf5a08de04ffcf57334c17
Author: Jan Nieuwenhuizen <address@hidden>
AuthorDate: Wed Mar 11 00:33:24 2020 +0100

    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.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/bootloaders.scm                       | 26 +++++++++++---
 gnu/packages/linux.scm                             |  3 ++
 .../grub-verifiers-Blocklist-fallout-cleanup.patch | 41 ++++++++++++++++++++++
 gnu/packages/virtualization.scm                    |  3 +-
 5 files changed, 68 insertions(+), 6 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index b213565..9394f0a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -988,6 +988,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            \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 425c0d5..c9ab732 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -91,7 +91,9 @@
              (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 @@
 
        ;; 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 @@
 
        ;; 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)
@@ -199,7 +213,9 @@
        ;; Dependencies for the test suite.  The "real" QEMU is needed here,
        ;; because several targets are used.
        ("parted" ,parted)
-       ("qemu" ,qemu-minimal-2.10)
+       ,@(if (member (%current-system) (package-supported-systems qemu))
+             `(("qemu" ,qemu))
+             '())
        ("xorriso" ,xorriso)))
     (home-page "https://www.gnu.org/software/grub/";)
     (synopsis "GRand Unified Boot loader")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2c0674c..722e670 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2401,6 +2401,7 @@ processes currently causing I/O.")
                (("-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 @@ time.")
 
        ;; 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 @@ MPEG-2 and audio over Linux IEEE 1394.")
          (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
diff --git 
a/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch 
b/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch
new file mode 100644
index 0000000..2bea74e
--- /dev/null
+++ b/gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch
@@ -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 <address@hidden>
+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 <address@hidden>
+Reviewed-by: Daniel Kiper <address@hidden>
+
+---
+ 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);
+ 
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index c04ff88..9fcea5f 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -285,7 +285,8 @@ server and embedded PowerPC, and S390 guests.")
     (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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]