summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/refind/Manifest1
-rw-r--r--sys-boot/refind/refind-0.9.2.ebuild101
2 files changed, 102 insertions, 0 deletions
diff --git a/sys-boot/refind/Manifest b/sys-boot/refind/Manifest
index d2c33c70f9dc..01fdfe67776f 100644
--- a/sys-boot/refind/Manifest
+++ b/sys-boot/refind/Manifest
@@ -1 +1,2 @@
DIST refind-src-0.9.0.zip 2939724 SHA256 842a01d7964bc8c8000a66e6d08f6fadb4c257d251b1277cebff0bf731e024aa SHA512 c49e3110e6b9f8d44dadae1ab828d3bf59bbce2da9170efed73db961135144ae9963b57d4cc39af2b15ecdf1f289359bda56c3d3e8f72d05be165ae5a3e2654d WHIRLPOOL 225a6b84ea7044e8fe0bab5e268c8c46a4523ab6f408d1bb2a94adfe54afe80c9c83ec0dc104945b332ae6c375c9d041972dee39baa43665588eb0dfc1fe4362
+DIST refind-src-0.9.2.zip 2941986 SHA256 9022da3d46493395c273e2d2fc555d1c786fb1b9c11b2912751a88fe3328212a SHA512 6636cf02bb69ffe699d5f9717d09b80db0e4330aa52c14949e8612caed11f032370db17700c15d285173729271d2434fd0fbc39f5b445a3c05255ee14d125d47 WHIRLPOOL 2d81427bf6cc9cf021a4ffc7238bcf914e380fea091cbefaa601e391cf28f43f7c3ef1181744e4aab3d71d2535d88ba633b13cdae696f0baddd26d3c2511a88d
diff --git a/sys-boot/refind/refind-0.9.2.ebuild b/sys-boot/refind/refind-0.9.2.ebuild
new file mode 100644
index 000000000000..7520444da6fb
--- /dev/null
+++ b/sys-boot/refind/refind-0.9.2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://git.code.sf.net/p/refind/code"
+else
+ SRC_URI="mirror://sourceforge/${PN}/${PN}-src-${PV}.zip"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+DESCRIPTION="The rEFInd UEFI Boot Manager by Rod Smith"
+HOMEPAGE="http://www.rodsbooks.com/refind/index.html"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="btrfs +ext2 +ext4 hfs +iso9660 ntfs reiserfs"
+
+DOCS="NEWS.txt README.txt docs/refind docs/Styles"
+
+DEPEND=">=sys-boot/gnu-efi-3.0u"
+
+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() {
+ elog "EFI executables have been built and installed into /usr/share/${P}"
+ elog "You will need to use the provided install script 'install.sh' or"
+ elog "manually install the binaries into your EFI System Partition"
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ elog ""
+ elog "For key generation and binary signing for use with SecureBoot, the"
+ elog "package app-crypt/sbsigntool can be installed"
+ elog ""
+ elog "A sample configration can be found at"
+ elog "/usr/share/doc/${PF}/refind.conf-sample"
+ else
+ ewarn "Note that this will not update any EFI binaries on your EFI"
+ ewarn "System Partition - this needs to be done manually."
+ fi
+}