diff options
Diffstat (limited to 'sys-firmware')
-rw-r--r-- | sys-firmware/seabios/Manifest | 3 | ||||
-rw-r--r-- | sys-firmware/seabios/files/seavgabios/config.vga-virtio | 6 | ||||
-rw-r--r-- | sys-firmware/seabios/seabios-1.8.2.ebuild | 126 |
3 files changed, 135 insertions, 0 deletions
diff --git a/sys-firmware/seabios/Manifest b/sys-firmware/seabios/Manifest index 65ec2114d322..4f7b1e1fc820 100644 --- a/sys-firmware/seabios/Manifest +++ b/sys-firmware/seabios/Manifest @@ -1,3 +1,6 @@ DIST bios.bin-1.7.5.gz 78943 SHA256 2e83e68e6cff73ede1c2490dabad74c177d7b67f9d93a5ed5f2ef39e76dea0ea SHA512 153a4cf190843540a9a72fcb0cf34f1f9f6ff2efb4b4f700c515dea467b101a8999421b53c2f21599864e2e803ae455a4ae39c7e8be9491c4383b4bfbe734014 WHIRLPOOL 2383f5f3a91581b0ee0ff19fd429a67b7fe09db05c456b98aee01ab9008a12d265e56f81b4d60224c7be15a86da9d2288f83a1d83f621b2ff00ab3aaccb277a4 +DIST bios.bin-1.8.2.xz 67428 SHA256 b4628fdbfc39fd73e7ab0c54dfc26128b6011d34778e381c1b2d2340209be838 SHA512 2b2339c02134bcbd6e71e8d31f9907a160534a047bc91502c215d3d4c79431b962177ac43d826cc5689d71dfc0995bc8a9a5caf1a35929f308b3c2bdad720c15 WHIRLPOOL 050a7880d0da8bb8be1ce3e1262f7e5107a5a426eb31ce9629ef497305e390d348de7ed3c7595248010eb02481a2b4a9e4dca94b3a9c954c18b8a9624f46bbc6 DIST seabios-1.7.5.tar.gz 537566 SHA256 858d9eda4ad91efa1c45a5a401d560ef9ca8dd172f03b0a106f06661c252dc51 SHA512 ecf5fb9ac44dde6e4ac00baa6c920dde51b923f23dd74e62c5a02eceaf235e57b885975c5a8bd0927e268115c72bd1143a080fdfd4eff4e168ebeaa30436280e WHIRLPOOL 5e1e99b3bd82a8607c5986fde4592c7437bec4bd78abd5873710f6c431d075436725e8d0d32e9f0dd2921c9d84b8613108b21d31c5309a73e337ead7adf35e90 +DIST seabios-1.8.2.tar.gz 538497 SHA256 f59479307fdae840de398b75aacb2333c8eba24a5964d68c77e32ca6c987ee61 SHA512 798d222d5f5725a805cde9e6000b5ce714d0551fd4a3c2642cc6e77b2bdab1a9e239939a358a23bbe0e00112f5ad70696c87d20b90655463c835541fc04e1a00 WHIRLPOOL 9cda0ad502a59dd718c543b759ac3fcf5acb4adee70c3da9bfea95ab188415acf6425827de77f45421ec3be8fd9e0c37fb486e62828217ba3e83f88d942a3f4a DIST seabios_1.7.5-1_all.deb 112098 SHA256 61bab13a733e8087147ae4798f0053c6d632866e332a1ee3af2265e4f57ced36 SHA512 891a26e084ccac8e9badce5a58eeadfb958af9d5ed087a99998f92153718e8231c14abfae0ed86bde870aa9e2f29fd93d5cc04515695e6f2d7b9fcaaef11bfce WHIRLPOOL d47ad79e7bd701862d059d86c7cb3b730b0303c5170ec52a481df5326cad0cd98ea78fcdb2730623b6b65289d9042f4685991eb515402543083cd8228f849959 +DIST seavgabios-1.8.2.tar.xz 20284 SHA256 d28ff071ee56f7bd88cec2482908f469d553cd8b61485a8e89989c26cb5c0e4a SHA512 16d2b54cd98aa22f7af21d8c51a4cf87d9462ec0c99bf703bf7f6c3c4e0be4cbd313b8cf0fb79cdb7b6a7f94441493a4f9669b6d44297e12f03a749befa2d845 WHIRLPOOL 9d61957ec4e3a0c5e4b999495119c6cfb4f2165d98b652b530dbee3ceb19b18a75d07902a5ee15b41b877154bb9ac19163d75c6024a40c4e94e6cf5cdf561e9d diff --git a/sys-firmware/seabios/files/seavgabios/config.vga-virtio b/sys-firmware/seabios/files/seavgabios/config.vga-virtio new file mode 100644 index 000000000000..aa7a15ba1172 --- /dev/null +++ b/sys-firmware/seabios/files/seavgabios/config.vga-virtio @@ -0,0 +1,6 @@ +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_BOCHS=y +CONFIG_VGA_PCI=y +CONFIG_OVERRIDE_PCI_ID=y +CONFIG_VGA_VID=0x1af4 +CONFIG_VGA_DID=0x1050 diff --git a/sys-firmware/seabios/seabios-1.8.2.ebuild b/sys-firmware/seabios/seabios-1.8.2.ebuild new file mode 100644 index 000000000000..61b1a8d77671 --- /dev/null +++ b/sys-firmware/seabios/seabios-1.8.2.ebuild @@ -0,0 +1,126 @@ +# 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 + +# 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" + # Upstream hasn't released a new binary. We snipe ours from Fedora for now. + # http://code.coreboot.org/p/seabios/downloads/get/bios.bin-${PV}.gz + SRC_URI="!binary? ( http://code.coreboot.org/p/seabios/downloads/get/${P}.tar.gz ) + binary? ( + mirror://gentoo/bios.bin-${PV}.xz + seavgabios? ( mirror://gentoo/seavgabios-${PV}.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 +} + +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 || epatch_user +} + +src_configure() { + use binary || tc-ld-disable-gold #438058 +} + +_emake() { + LANG=C \ + emake V=1 \ + CC="$(tc-getCC)" \ + LD="$(tc-getLD)" \ + AR="$(tc-getAR)" \ + OBJCOPY="$(tc-getOBJCOPY)" \ + RANLIB="$(tc-getRANLIB)" \ + OBJDUMP="$(tc-getOBJDUMP)" \ + HOST_CC="$(tc-getBUILD_CC)" \ + VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \ + "$@" +} + +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 + virtio + 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 +} |