summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/refind/refind-0.9.0-r1.ebuild')
-rw-r--r--sys-boot/refind/refind-0.9.0-r1.ebuild93
1 files changed, 93 insertions, 0 deletions
diff --git a/sys-boot/refind/refind-0.9.0-r1.ebuild b/sys-boot/refind/refind-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..9f616d53a7b0
--- /dev/null
+++ b/sys-boot/refind/refind-0.9.0-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+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="NEWS.txt README.txt docs/refind docs/Styles"
+
+DEPEND=">=sys-boot/gnu-efi-3.0u"
+RDEPEND=""
+
+src_prepare() {
+ # bug 560280: Relocate the install location of refind.conf-sample
+ local oldstring="\$RefindDir\/refind.conf-sample"
+ local newstring="\/usr\/share\/doc\/${PF}\/refind.conf-sample"
+ sed -e "s/$oldstring/$newstring/" -i install.sh || die
+
+ epatch_user
+}
+
+src_compile() {
+ emake gnuefi
+
+ pushd "${S}/filesystems" > /dev/null
+ for fs in ${IUSE}; do
+ fs=${fs#+}
+ 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
+ fi
+ done
+ popd > /dev/null
+}
+
+src_install() {
+ exeinto "/usr/share/${P}"
+ doexe install.sh
+
+ dodoc -r ${DOCS}
+
+ dodoc refind.conf-sample
+ docompress -x /usr/share/doc/${PF}/refind.conf-sample
+
+ 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 ${IUSE}; do
+ fs=${fs#+}
+ if use "${fs}"; then
+ doins "drivers_${filearch}/${fs}_${filearch}.efi"
+ fi
+ done
+
+ insinto "/usr/share/${P}/refind"
+ doins -r images icons fonts banners
+
+ 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/${PF}/refind.conf-sample"
+ einfo ""
+}