summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-02-15 08:02:48 +0000
committerMike Frysinger <vapier@gentoo.org>2015-02-15 08:02:48 +0000
commita2a6e943daa115771a6b9f8ccedd7d4bf432f53d (patch)
treef1db2be4a66a3c86316ec15284a480f2de14c863 /sys-firmware
parentVersion bump. (diff)
downloadgentoo-2-a2a6e943daa115771a6b9f8ccedd7d4bf432f53d.tar.gz
gentoo-2-a2a6e943daa115771a6b9f8ccedd7d4bf432f53d.tar.bz2
gentoo-2-a2a6e943daa115771a6b9f8ccedd7d4bf432f53d.zip
Add USE=seavgabios support #523134 by Brad Laue.
(Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Diffstat (limited to 'sys-firmware')
-rw-r--r--sys-firmware/seabios/ChangeLog10
-rw-r--r--sys-firmware/seabios/files/seavgabios/README1
-rw-r--r--sys-firmware/seabios/files/seavgabios/config.vga-cirrus3
-rw-r--r--sys-firmware/seabios/files/seavgabios/config.vga-isavga3
-rw-r--r--sys-firmware/seabios/files/seavgabios/config.vga-qxl6
-rw-r--r--sys-firmware/seabios/files/seavgabios/config.vga-stdvga3
-rw-r--r--sys-firmware/seabios/files/seavgabios/config.vga-vmware6
-rw-r--r--sys-firmware/seabios/metadata.xml1
-rw-r--r--sys-firmware/seabios/seabios-1.7.5-r1.ebuild146
9 files changed, 178 insertions, 1 deletions
diff --git a/sys-firmware/seabios/ChangeLog b/sys-firmware/seabios/ChangeLog
index 9861400e0567..f99f40d0c3a0 100644
--- a/sys-firmware/seabios/ChangeLog
+++ b/sys-firmware/seabios/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-firmware/seabios
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-firmware/seabios/ChangeLog,v 1.37 2015/02/15 07:07:42 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-firmware/seabios/ChangeLog,v 1.38 2015/02/15 08:02:48 vapier Exp $
+
+*seabios-1.7.5-r1 (15 Feb 2015)
+
+ 15 Feb 2015; Mike Frysinger <vapier@gentoo.org> +files/seavgabios/README,
+ +files/seavgabios/config.vga-cirrus, +files/seavgabios/config.vga-isavga,
+ +files/seavgabios/config.vga-qxl, +files/seavgabios/config.vga-stdvga,
+ +files/seavgabios/config.vga-vmware, +seabios-1.7.5-r1.ebuild, metadata.xml:
+ Add USE=seavgabios support #523134 by Brad Laue.
15 Feb 2015; Mike Frysinger <vapier@gentoo.org> seabios-1.7.5.ebuild:
Avoid downloading files that are not used (e.g. no source tarball for
diff --git a/sys-firmware/seabios/files/seavgabios/README b/sys-firmware/seabios/files/seavgabios/README
new file mode 100644
index 000000000000..7030949c1810
--- /dev/null
+++ b/sys-firmware/seabios/files/seavgabios/README
@@ -0,0 +1 @@
+The config.vga-xxx files come from the qemu/roms/ tree.
diff --git a/sys-firmware/seabios/files/seavgabios/config.vga-cirrus b/sys-firmware/seabios/files/seavgabios/config.vga-cirrus
new file mode 100644
index 000000000000..c8fe58239f84
--- /dev/null
+++ b/sys-firmware/seabios/files/seavgabios/config.vga-cirrus
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_CIRRUS=y
+CONFIG_VGA_PCI=y
diff --git a/sys-firmware/seabios/files/seavgabios/config.vga-isavga b/sys-firmware/seabios/files/seavgabios/config.vga-isavga
new file mode 100644
index 000000000000..e55e294a0c0a
--- /dev/null
+++ b/sys-firmware/seabios/files/seavgabios/config.vga-isavga
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=n
diff --git a/sys-firmware/seabios/files/seavgabios/config.vga-qxl b/sys-firmware/seabios/files/seavgabios/config.vga-qxl
new file mode 100644
index 000000000000..d393f0c34fd2
--- /dev/null
+++ b/sys-firmware/seabios/files/seavgabios/config.vga-qxl
@@ -0,0 +1,6 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
+CONFIG_OVERRIDE_PCI_ID=y
+CONFIG_VGA_VID=0x1b36
+CONFIG_VGA_DID=0x0100
diff --git a/sys-firmware/seabios/files/seavgabios/config.vga-stdvga b/sys-firmware/seabios/files/seavgabios/config.vga-stdvga
new file mode 100644
index 000000000000..7d063b787cd9
--- /dev/null
+++ b/sys-firmware/seabios/files/seavgabios/config.vga-stdvga
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
diff --git a/sys-firmware/seabios/files/seavgabios/config.vga-vmware b/sys-firmware/seabios/files/seavgabios/config.vga-vmware
new file mode 100644
index 000000000000..eb10427afdd3
--- /dev/null
+++ b/sys-firmware/seabios/files/seavgabios/config.vga-vmware
@@ -0,0 +1,6 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
+CONFIG_OVERRIDE_PCI_ID=y
+CONFIG_VGA_VID=0x15ad
+CONFIG_VGA_DID=0x0405
diff --git a/sys-firmware/seabios/metadata.xml b/sys-firmware/seabios/metadata.xml
index d7ef91f65cea..4e341d27ef39 100644
--- a/sys-firmware/seabios/metadata.xml
+++ b/sys-firmware/seabios/metadata.xml
@@ -8,6 +8,7 @@
</maintainer>
<use>
<flag name='binary'>Use official upstream pre-built binaries</flag>
+ <flag name='seavgabios'>Include SeaVGABIOS binaries (replacement for vgabios)</flag>
</use>
</pkgmetadata>
diff --git a/sys-firmware/seabios/seabios-1.7.5-r1.ebuild b/sys-firmware/seabios/seabios-1.7.5-r1.ebuild
new file mode 100644
index 000000000000..e4186d0cc664
--- /dev/null
+++ b/sys-firmware/seabios/seabios-1.7.5-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-firmware/seabios/seabios-1.7.5-r1.ebuild,v 1.1 2015/02/15 08:02:48 vapier Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_6,2_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
+ seavgabios? (
+ mirror://debian/pool/main/s/${PN}/${PN}_${PV}-1_all.deb
+ )
+ )
+ ${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 +seavgabios"
+
+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
+
+ local myld=$(tc-getLD)
+
+ ${myld} -v | grep -q "GNU gold" && \
+ ewarn "gold linker unable to handle 16-bit code using ld.bfd. bug #438058"
+}
+
+pkg_setup() {
+ use binary || python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ if use binary && use seavgabios ; then
+ unpack ./data.tar.xz
+ mv usr/share/seabios/vgabios*.bin ./ || die
+ fi
+
+ # 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() {
+ :
+}
+
+_emake() {
+ LANG=C \
+ emake V=1 \
+ 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) \
+ "$@"
+}
+
+src_compile() {
+ use binary && return
+
+ _emake out/bios.bin
+ mv out/bios.bin ../bios.bin
+
+ if use seavgabios ; then
+ local config t targets=(
+ cirrus
+ isavga
+ qxl
+ stdvga
+ vmware
+ )
+ for t in "${targets[@]}" ; do
+ emake clean distclean
+ cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die
+ _emake oldnoconfig
+ _emake out/vgabios.bin
+ cp out/vgabios.bin ../vgabios-${t}.bin || die
+ done
+ fi
+}
+
+src_install() {
+ insinto /usr/share/seabios
+ newins ../bios.bin* bios.bin
+
+ if use seavgabios ; then
+ insinto /usr/share/seavgabios
+ doins ../vgabios*.bin
+ fi
+}