guix-commits
[Top][All Lists]
Advanced

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

04/11: gnu: memtest86+: Include a GRUB-based ISO image.


From: guix-commits
Subject: 04/11: gnu: memtest86+: Include a GRUB-based ISO image.
Date: Wed, 26 Oct 2022 17:10:57 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit 68f4b7a1585f71ccb1809cf808ad759f744438f3
Author: Tobias Geerinckx-Rice <me@tobias.gr>
AuthorDate: Sun Oct 23 02:00:00 2022 +0200

    gnu: memtest86+: Include a GRUB-based ISO image.
    
    * gnu/packages/hardware.scm (memtest86+)[arguments]: Add a new 
'patch-broken-Makefiles and custom 'build phase.
    Add "grub-memtest.iso" to the list of files to 'install.
    [native-inputs]: Add dosfstools, grub-hybrid, mtools, and xorriso.
---
 gnu/packages/hardware.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 50ad9ff15f..e72163616b 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -38,6 +38,8 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages bootloaders)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cpp)
@@ -60,6 +62,7 @@
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lxqt)
+  #:use-module (gnu packages mtools)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
@@ -815,12 +818,29 @@ specific SMBIOS tables.")
       #:tests? #f                       ; no way to test this
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-broken-Makefiles
+            (lambda _
+              (substitute* (list "build32/Makefile"
+                                 "build64/Makefile")
+                (("/sbin/(mkdosfs)" _ command)
+                 command))))
           (delete 'configure)           ; no configure script
           (add-before 'build 'enter-build-directory
             (lambda _
               (chdir #$(if (target-x86-32?)
                            "build32"
                            "build64"))))
+          (replace 'build
+            (lambda* (#:key inputs make-flags #:allow-other-keys)
+              (apply invoke
+                     "make" "all" "grub-iso" ; more options than memtest.iso
+                     (string-append "GRUB_FONT_DIR="
+                                    (search-input-directory inputs
+                                                            "share/grub"))
+                     (string-append "GRUB_LIB_DIR="
+                                    (search-input-directory inputs
+                                                            "lib/grub"))
+                     make-flags)))
           (replace 'install
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
@@ -830,10 +850,13 @@ specific SMBIOS tables.")
                 (for-each
                  (lambda (file)
                    (install-file file lib))
-                 (list "memtest.bin"
+                 (list "grub-memtest.iso"
+                       "memtest.bin"
                        "memtest.efi"))
                 (chdir "..")
                 (install-file "README.md" doc)))))))
+    (native-inputs
+     (list dosfstools grub-hybrid mtools xorriso))
     (supported-systems (list "i686-linux" "x86_64-linux"))
     (home-page "https://www.memtest.org/";)
     (synopsis "Thorough real-mode memory tester")



reply via email to

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