# 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 "" }