diff options
Diffstat (limited to 'sys-firmware/seabios/seabios-1.7.5.ebuild')
-rw-r--r-- | sys-firmware/seabios/seabios-1.7.5.ebuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/sys-firmware/seabios/seabios-1.7.5.ebuild b/sys-firmware/seabios/seabios-1.7.5.ebuild new file mode 100644 index 000000000000..e2224ebe26ac --- /dev/null +++ b/sys-firmware/seabios/seabios-1.7.5.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils toolchain-funcs python-any-r1 + +#BACKPORTS=1 + +# SeaBIOS maintainers sometimes don't release stable tarballs or stable +# binaries to generate the stable tarball the following is necessary: +# git clone git://git.seabios.org/seabios.git && cd seabios +# git archive --output seabios-${PV}.tar.gz --prefix seabios-${PV}/ rel-${PV} + +if [[ ${PV} = *9999* || ! -z "${EGIT_COMMIT}" ]]; then + EGIT_REPO_URI="git://git.seabios.org/seabios.git" + inherit git-2 +else + KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-fbsd ~x86-fbsd" + SRC_URI="!binary? ( http://code.coreboot.org/p/seabios/downloads/get/${P}.tar.gz ) + binary? ( http://code.coreboot.org/p/seabios/downloads/get/bios.bin-${PV}.gz ) + ${BACKPORTS:+http://dev.gentoo.org/~cardoe/distfiles/${P}-${BACKPORTS}.tar.xz}" +fi + +DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS" +HOMEPAGE="http://www.seabios.org" + +LICENSE="LGPL-3 GPL-3" +SLOT="0" +IUSE="+binary" + +REQUIRED_USE="ppc? ( binary ) + ppc64? ( binary )" + +DEPEND=" + !binary? ( + >=sys-power/iasl-20060912 + ${PYTHON_DEPS} + )" +RDEPEND="" + +pkg_pretend() { + if ! use binary; then + ewarn "You have decided to compile your own SeaBIOS. This is not" + ewarn "supported by upstream unless you use their recommended" + ewarn "toolchain (which you are not)." + elog + ewarn "If you are intending to use this build with QEMU, realize" + ewarn "you will not receive any support if you have compiled your" + ewarn "own SeaBIOS. Virtual machines subtly fail based on changes" + ewarn "in SeaBIOS." + fi +} + +pkg_setup() { + use binary || python-any-r1_pkg_setup +} + +src_unpack() { + default + + # This simplifies the logic between binary & source builds. + mkdir -p "${S}" +} + +src_prepare() { + use binary && return + + if [[ -z "${EGIT_COMMIT}" ]]; then + sed -e "s/VERSION=.*/VERSION=${PV}/" \ + -i Makefile || die + else + sed -e "s/VERSION=.*/VERSION=${PV}_pre${EGIT_COMMIT}/" \ + -i Makefile || die + fi + + epatch_user +} + +src_configure() { + use binary || tc-ld-disable-gold #438058 +} + +src_compile() { + if ! use binary ; then + LANG=C emake \ + CC="$(tc-getCC)" \ + LD="$(tc-getLD)" \ + AR="$(tc-getAR)" \ + OBJCOPY="$(tc-getOBJCOPY)" \ + RANLIB="$(tc-getRANLIB)" \ + OBJDUMP="$(tc-getOBJDUMP)" \ + HOST_CC="$(tc-getBUILD_CC)" \ + out/bios.bin + fi +} + +src_install() { + insinto /usr/share/seabios + if ! use binary ; then + doins out/bios.bin + else + newins ../bios.bin-${PV} bios.bin + fi +} |