diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-02-15 08:02:48 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-02-15 08:02:48 +0000 |
commit | a2a6e943daa115771a6b9f8ccedd7d4bf432f53d (patch) | |
tree | f1db2be4a66a3c86316ec15284a480f2de14c863 /sys-firmware | |
parent | Version bump. (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/README | 1 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/config.vga-cirrus | 3 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/config.vga-isavga | 3 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/config.vga-qxl | 6 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/config.vga-stdvga | 3 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/config.vga-vmware | 6 | ||||
-rw-r--r-- | sys-firmware/seabios/metadata.xml | 1 | ||||
-rw-r--r-- | sys-firmware/seabios/seabios-1.7.5-r1.ebuild | 146 |
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 +} |