# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-firmware/ipxe/ipxe-1.0.0_p20130925.ebuild,v 1.1 2013/11/07 15:48:40 cardoe Exp $ EAPI=5 inherit toolchain-funcs GIT_REV="cba22d36b77da53890bd65fdadd0e63925687af0" GIT_SHORT="cba22d3" DESCRIPTION="Open source network boot (PXE) firmware" HOMEPAGE="http://ipxe.org" SRC_URI="https://git.ipxe.org/ipxe.git/snapshot/${GIT_REV}.tar.bz2 -> ${P}-${GIT_SHORT}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="iso +qemu undi usb vmware" DEPEND="sys-devel/make dev-lang/perl sys-libs/zlib iso? ( sys-boot/syslinux virtual/cdrtools )" RDEPEND="" S="${WORKDIR}/ipxe-${GIT_SHORT}/src" pkg_setup() { local myld=$(tc-getLD) ${myld} -v | grep -q "GNU gold" && \ ewarn "gold linker unable to handle 16-bit code using ld.bfd. bug #438058" } src_prepare() { cat <<-EOF > "${S}"/config/local/general.h #undef BANNER_TIMEOUT #define BANNER_TIMEOUT 0 EOF if use vmware; then cat <<-EOF >> "${S}"/config/local/general.h #define VMWARE_SETTINGS #define CONSOLE_VMWARE EOF fi } src_compile() { ipxemake() { # Q='' makes the build verbose since that's what everyone loves now emake Q='' \ CC=$(tc-getCC) \ LD="$(tc-getLD).bfd" \ AR=$(tc-getAR) \ OBJCOPY=$(tc-getOBJCOPY) \ RANLIB=$(tc-getRANLIB) \ OBJDUMP=$(tc-getPROG OBJDUMP objdump) \ HOST_CC=$(tc-getBUILD_CC) \ ${*} } export NO_WERROR=1 if use qemu; then ipxemake bin/808610de.rom # pxe-e1000.rom (old) ipxemake bin/8086100e.rom # pxe-e1000.rom ipxemake bin/80861209.rom # pxe-eepro100.rom ipxemake bin/10500940.rom # pxe-ne2k_pci.rom ipxemake bin/10222000.rom # pxe-pcnet.rom ipxemake bin/10ec8139.rom # pxe-rtl8139.rom ipxemake bin/1af41000.rom # pxe-virtio.rom fi if use vmware; then ipxemake bin/8086100f.mrom # e1000 ipxemake bin/808610d3.mrom # e1000e ipxemake bin/10222000.mrom # vlance ipxemake bin/15ad07b0.rom # vmxnet3 fi use iso && ipxemake bin/ipxe.iso use undi && ipxemake bin/undionly.kpxe use usb && ipxemake bin/ipxe.usb } src_install() { insinto /usr/share/ipxe/ if use qemu || use vmware; then doins bin/*.rom fi use vmware && doins bin/*.mrom use iso && doins bin/*.iso use undi && doins bin/*.kpxe use usb && doins bin/*.usb }