dev-python/mpmath: Bump to 1.4.0_alpha4
[gentoo/gentoo.git] / sys-apps / memtest86+ / memtest86+-6.20-r1.ebuild
blob5ca6984446ce353cf79b05011a8f9178030ac68b
1 # Copyright 2022-2024 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 inherit mount-boot secureboot toolchain-funcs
8 MY_PV=${PV/_/-}
10 DESCRIPTION="Memory tester based on PCMemTest"
11 HOMEPAGE="https://www.memtest.org/"
12 SRC_URI="https://github.com/memtest86plus/memtest86plus/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
14 LICENSE="GPL-2"
15 SLOT="0"
16 KEYWORDS="amd64 x86"
17 IUSE="bios32 bios64 +boot uefi32 uefi64 iso32 iso64"
19 ISODEPS="
20         dev-libs/libisoburn
21         sys-fs/dosfstools
22         sys-fs/mtools
24 BDEPEND="
25         iso32? ( ${ISODEPS} )
26         iso64? ( ${ISODEPS} )
29 S=${WORKDIR}/memtest86plus-${MY_PV}
31 pkg_setup() {
32         if use uefi32 || use uefi64; then
33                 secureboot_pkg_setup
34         fi
37 src_prepare() {
38         sed -i \
39                 -e 's#/sbin/mkdosfs#mkfs.vfat#' \
40                 -e 's/^AS = as/AS +=/' \
41                 -e '/^CC/d' \
42                 -e 's/objcopy/$(OBJCOPY)/' \
43                 -e 's/shell size/shell $(SIZE)/' \
44                 build{32,64}/Makefile || die
45         default
48 src_compile() {
49         tc-export OBJCOPY
50         export SIZE=$(tc-getPROG SIZE size)
51         pushd build32
52                 use bios32 && emake memtest.bin
53                 use uefi32 && emake memtest.efi
54                 use iso32 && emake iso
55         popd
57         pushd build64
58                 use bios64 && emake memtest.bin
59                 use uefi64 && emake memtest.efi
60                 use iso64 && emake iso
61         popd
64 install_memtest_images() {
65         use bios32 && newins build32/memtest.bin memtest32.bios
66         use bios64 && newins build64/memtest.bin memtest64.bios
67         use uefi32 && newins build32/memtest.efi memtest.efi32
68         use uefi64 && newins build64/memtest.efi memtest.efi64
71 src_install() {
72         default
73         if use boot; then
74                 exeinto /etc/grub.d/
75                 newexe "${FILESDIR}"/39_memtest86+-r2 39_memtest86+
76                 insinto /boot/memtest86plus
77                 install_memtest_images
78         fi
80         insinto /usr/share/${PN}
81         install_memtest_images
82         use iso32 && newins build32/memtest.iso memtest32.iso
83         use iso64 && newins build64/memtest.iso memtest64.iso
85         if use uefi32 || use uefi64; then
86                 secureboot_auto_sign --in-place
87         fi
90 pkg_pretend() {
91         use boot && mount-boot_pkg_pretend
94 pkg_preinst() {
95         use boot && mount-boot_pkg_preinst
98 pkg_prerm() {
99         use boot && mount-boot_pkg_prerm