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.
This commit is contained in:
parent
634f7cd7df
commit
68f4b7a158
1 changed files with 24 additions and 1 deletions
|
|
@ -38,6 +38,8 @@
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
|
#:use-module (gnu packages bootloaders)
|
||||||
|
#:use-module (gnu packages cdrom)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages cpp)
|
#:use-module (gnu packages cpp)
|
||||||
|
|
@ -60,6 +62,7 @@
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages lxqt)
|
#:use-module (gnu packages lxqt)
|
||||||
|
#:use-module (gnu packages mtools)
|
||||||
#:use-module (gnu packages package-management)
|
#:use-module (gnu packages package-management)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages networking)
|
#:use-module (gnu packages networking)
|
||||||
|
|
@ -815,12 +818,29 @@ specific SMBIOS tables.")
|
||||||
#:tests? #f ; no way to test this
|
#:tests? #f ; no way to test this
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-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
|
(delete 'configure) ; no configure script
|
||||||
(add-before 'build 'enter-build-directory
|
(add-before 'build 'enter-build-directory
|
||||||
(lambda _
|
(lambda _
|
||||||
(chdir #$(if (target-x86-32?)
|
(chdir #$(if (target-x86-32?)
|
||||||
"build32"
|
"build32"
|
||||||
"build64"))))
|
"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
|
(replace 'install
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
|
@ -830,10 +850,13 @@ specific SMBIOS tables.")
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (file)
|
(lambda (file)
|
||||||
(install-file file lib))
|
(install-file file lib))
|
||||||
(list "memtest.bin"
|
(list "grub-memtest.iso"
|
||||||
|
"memtest.bin"
|
||||||
"memtest.efi"))
|
"memtest.efi"))
|
||||||
(chdir "..")
|
(chdir "..")
|
||||||
(install-file "README.md" doc)))))))
|
(install-file "README.md" doc)))))))
|
||||||
|
(native-inputs
|
||||||
|
(list dosfstools grub-hybrid mtools xorriso))
|
||||||
(supported-systems (list "i686-linux" "x86_64-linux"))
|
(supported-systems (list "i686-linux" "x86_64-linux"))
|
||||||
(home-page "https://www.memtest.org/")
|
(home-page "https://www.memtest.org/")
|
||||||
(synopsis "Thorough real-mode memory tester")
|
(synopsis "Thorough real-mode memory tester")
|
||||||
|
|
|
||||||
Reference in a new issue