diff options
Diffstat (limited to 'sys-boot')
-rw-r--r-- | sys-boot/refind/Manifest | 1 | ||||
-rw-r--r-- | sys-boot/refind/refind-0.9.2.ebuild | 101 |
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 +} |