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