blob: 2b763a70982ed69476b1c72beaad8dee3d5a2cbc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
DESCRIPTION="The rEFInd UEFI Boot Manager by Rod Smith"
HOMEPAGE="http://www.rodsbooks.com/refind/index.html"
SRC_URI="mirror://sourceforge/${PN}/${PN}-src-${PV}.zip"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="btrfs +ext2 +ext4 hfs +iso9660 ntfs reiserfs"
DOCS="BUILDING.txt NEWS.txt README.txt refind.conf-sample {refind,Styles}"
DEPEND=">=sys-boot/gnu-efi-3.0u"
RDEPEND=""
src_compile() {
emake gnuefi || die "Failed to build refind EFI binary"
cd "${S}/filesystems"
for fs in ext2 ext4 reiserfs iso9660 hfs btrfs ; do
if use "${fs}" ; then
einfo "Building ${fs} filesystem driver"
rm -f fsw_efi.o
# ARCH detection in the Makefile not working
use x86 && buildarch=ia32
use amd64 && buildarch=x86_64
emake DRIVERNAME=${fs} ARCH=${buildarch} -f Make.gnuefi || die "Failed building ${fs} filesystem EFI binary"
fi
done
}
src_install() {
exeinto "/usr/share/${P}"
doexe install.sh
dodoc -r ${DOCS}
insinto "/usr/share/${P}/refind"
use x86 && doins refind/refind_ia32.efi
use amd64 && doins refind/refind_x64.efi
use x86 && filearch=ia32
use amd64 && filearch=x64
insinto "/usr/share/${P}/refind/drivers_${filearch}"
for fs in ext2 ext4 reiserfs iso9660 hfs btrfs ; do
if use "${fs}" ; then doins "drivers_${filearch}/${fs}_${filearch}.efi" ; fi
done
for dir in images icons fonts banners ; do
insinto "/usr/share/${P}/refind/${dir}"
doins -r "${dir}"
done
insinto "/usr/share/${P}/keys"
doins keys/*
}
pkg_postinst() {
einfo ""
einfo "EFI executables have been built and installed into /usr/share/${P}"
einfo "You will need to use the provided install script 'install.sh' or"
einfo "manually install the binaries into your EFI System Partition."
einfo ""
einfo "For key generation and binary signing for use with SecureBoot, the"
einfo "package app-crypt/sbsigntool can be installed."
einfo ""
einfo "A sample configration can be found at"
einfo "/usr/share/doc/${P}/refind.conf-sample.bz2"
einfo ""
}
|