summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-firmware/seabios/seabios-1.7.5.ebuild')
-rw-r--r--sys-firmware/seabios/seabios-1.7.5.ebuild108
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
+}