Add USE=seavgabios support #523134 by Brad Laue.
authorMike Frysinger <vapier@gentoo.org>
Sun, 15 Feb 2015 08:02:49 +0000 (08:02 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sun, 15 Feb 2015 08:02:49 +0000 (08:02 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200

sys-firmware/seabios/ChangeLog
sys-firmware/seabios/Manifest
sys-firmware/seabios/files/seavgabios/README [new file with mode: 0644]
sys-firmware/seabios/files/seavgabios/config.vga-cirrus [new file with mode: 0644]
sys-firmware/seabios/files/seavgabios/config.vga-isavga [new file with mode: 0644]
sys-firmware/seabios/files/seavgabios/config.vga-qxl [new file with mode: 0644]
sys-firmware/seabios/files/seavgabios/config.vga-stdvga [new file with mode: 0644]
sys-firmware/seabios/files/seavgabios/config.vga-vmware [new file with mode: 0644]
sys-firmware/seabios/metadata.xml
sys-firmware/seabios/seabios-1.7.5-r1.ebuild [new file with mode: 0644]

index 9861400e056757ada50494019332fd4663588ee5..f99f40d0c3a0d50660fb7c7e042a7b3ac4a10354 100644 (file)
@@ -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
index 0a8db2c6cee1ee029944517354dd5dfca2fc5fb9..eca6ebf7f3a11709de42505d68c386c35d7da93a 100644 (file)
@@ -1,25 +1,33 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX seavgabios/README 56 SHA256 d4e1b5815b0166c52f5fdfd7ac8db2fd1398cf530394bf5937dfbda55135db21 SHA512 910bc29b89fd0821c9be7d60742ce80fd62194d78fd50902e1ba93a7322c897518ee606c76e39c71489f48c890e50d07aedd3ec059a9e3632eafdd7ebcea8074 WHIRLPOOL 6e928e7dbe1afbfd1a5ccb1009c0d98081cd099cf79b8eea067011e942ed7f6f5f3bca65e5a8cd38f0b786d7fca11aa8b51f7f1c1b11bc3879914a3facbf48ba
+AUX seavgabios/config.vga-cirrus 60 SHA256 888ad874052d301981a8cc6fa4bc72b1edd14ba937e7de113f71ce3fd2f8c253 SHA512 e9ef2d6bec9419e69bc90adf1a4bb7c174284cd722e53903deea0411f88074cc247069116e03e124715072ec82f153cf6014168febba41369a2569983d3265b6 WHIRLPOOL 6bc9abab432867d2d229f489e1f65471133c2bb6960d1d7e8523f6257f9abf1fbf43dd00054308235ae0a3162b359739ba4e903dba5758fed9b65d8ae482fc0a
+AUX seavgabios/config.vga-isavga 59 SHA256 5826ec704d4e4bb57089e0cbb72e7e5ccd31b7192d81084665cd4faeecb60b04 SHA512 aada61232f4834c1e9bec921b1e1365ce5ecb4adf42c659f34cdf051efb56f0ec2e62f0ccf66bb25d9bb0b8601e2df49b712265f19185068d45353c3aacf1cd9 WHIRLPOOL 41c5c36a610f04ffe56213e330d6a84be5c76811d25edbf2e4d1d33a74e75cc3aacb9c59bf0e78fc094876c6a436145efd97929a8bdb660677fd4d5caf1cfff9
+AUX seavgabios/config.vga-qxl 128 SHA256 26e43ea5e98615d11573b2619f3fb3c1933d5f810e6a2c44218d99465cc3ae77 SHA512 9ebcb6702cf28685daf1821be26bab8ddc791ef2c118217c984c03c5fb77c8b9691c0fa6931367a63b8d97d67c973cd4b620fe9ca9c76da51a9b2ab3b4b5653b WHIRLPOOL 6e38c9e5f91279694de4204abd1de16b2ef1c5f239df110151caa876cbdb6fb48148912e4c4f7952bea18e56c09a875e7062e8f27eabeb7e500480f6d2183000
+AUX seavgabios/config.vga-stdvga 59 SHA256 ca7367ae57665fa01e0ebb741ba5823d646f4b65a9a87657ea163cc9f362a8a8 SHA512 4a1b7fcc729d78dc8fd4e73d1cb6258ed9d49f8a91e6e00cc184e07c89a304f8d38ef5446d1c4ba5e8e929c82693d82c21526e42992ad6e1a008f39bb7c90448 WHIRLPOOL 51413383c35f77abd179050b86b6e84edf0a14e3b6ecb9d60521f9ff0cad0cd5059e10d8fbfed7084b628957e2871d9ae6addc6e5e24d8ff16bc9ab5b32c809d
+AUX seavgabios/config.vga-vmware 128 SHA256 1bd31f16dd43fb25aa92f9816cbfaae4a19a8faf29ff52bd02429fbaafb78f57 SHA512 2a82f75ca6dbf48546ffa5a756136dd7085855d9411c3b37a74cc53281027b4916cf628dba784bcad915682d94705b5f8116f7a1b7ec6a99d9b2fb3fffba01c0 WHIRLPOOL 9b6b82f0b27d41a6cb5ef66c13f4c45559471f894a93be60f67d560f3adc8fe2fae062a5d41b7d437eafaaf0bba12488d33db6b7192ab73a1901ab4618a887d6
 DIST bios.bin-1.7.5.gz 78943 SHA256 2e83e68e6cff73ede1c2490dabad74c177d7b67f9d93a5ed5f2ef39e76dea0ea SHA512 153a4cf190843540a9a72fcb0cf34f1f9f6ff2efb4b4f700c515dea467b101a8999421b53c2f21599864e2e803ae455a4ae39c7e8be9491c4383b4bfbe734014 WHIRLPOOL 2383f5f3a91581b0ee0ff19fd429a67b7fe09db05c456b98aee01ab9008a12d265e56f81b4d60224c7be15a86da9d2288f83a1d83f621b2ff00ab3aaccb277a4
 DIST seabios-1.7.5.tar.gz 537566 SHA256 858d9eda4ad91efa1c45a5a401d560ef9ca8dd172f03b0a106f06661c252dc51 SHA512 ecf5fb9ac44dde6e4ac00baa6c920dde51b923f23dd74e62c5a02eceaf235e57b885975c5a8bd0927e268115c72bd1143a080fdfd4eff4e168ebeaa30436280e WHIRLPOOL 5e1e99b3bd82a8607c5986fde4592c7437bec4bd78abd5873710f6c431d075436725e8d0d32e9f0dd2921c9d84b8613108b21d31c5309a73e337ead7adf35e90
+DIST seabios_1.7.5-1_all.deb 112098 SHA256 61bab13a733e8087147ae4798f0053c6d632866e332a1ee3af2265e4f57ced36 SHA512 891a26e084ccac8e9badce5a58eeadfb958af9d5ed087a99998f92153718e8231c14abfae0ed86bde870aa9e2f29fd93d5cc04515695e6f2d7b9fcaaef11bfce WHIRLPOOL d47ad79e7bd701862d059d86c7cb3b730b0303c5170ec52a481df5326cad0cd98ea78fcdb2730623b6b65289d9042f4685991eb515402543083cd8228f849959
+EBUILD seabios-1.7.5-r1.ebuild 3386 SHA256 dcfde4e4ae161d1eac626abf4b7937d47be338139df574da6d561decad95265a SHA512 180cef723661f5829af13bcfd0c93f22642aeec089d673b0f338424010ac2a0956c3dd95acf4f0bc581cd77eb82decce95f9427e5a55d3e346f45929d710dd04 WHIRLPOOL 08ec4c93cc3d6629cb7d7dd41104e38d67bf8fab35a082b7c1cd4f7e745cd4979d322b189ed2b6a4abd15d6cf4a1fa529c0ee6495beac11f4614be9cd174cf7a
 EBUILD seabios-1.7.5.ebuild 2762 SHA256 a82fe143dc64bd798d9bf6f9c46a6c369b603766a86767524d3b7e2c89b858fe SHA512 b9db7c968f4255e4ee41efc5f1e79e9c81750f47bece65c3aa018b5e32f7bd9a1ee9a5faa5d1bb9228ecd6413b9e76b2f576d307362f280586354fc6cb9b4e47 WHIRLPOOL 0dd3c1a5884ef876ffd9749743ad3652235a9c8a33b8d76ea1c0d8f3aeb30975322c27657bb673c12b917a2ea392252f4b416d9d86d3d86de910d8d84a6aebf7
-MISC ChangeLog 7675 SHA256 52c60e4b6a6100f23bc9195c9e91e64723260b5601a6dc27f0941fd27ddde389 SHA512 cb368b995c0305f4ce339d11c47357804c4f89981c8e782c20c00ce5ecca0799f8a0639f48f5b4303f59687c4919e0dc5495ca442de604dbf80b458a195ab522 WHIRLPOOL 99834577fdbaf0ef833b5b03af12fc2a1d409459d7cc85166e2db66a46bec23ae0e8aa757d00dfc1a6f8884422cf90fce355f7cf9058b915d72fc207264581a7
-MISC metadata.xml 348 SHA256 d3c5d1a4872e9f9c7006e20ea9abdd6b4f661041eb00111b09f4d7054b9a875c SHA512 a8424c71b656df412b38b171638815f32476496cd08faccb5504f9371960442af6fa0ed531609e43ca527f7a2df1ff2821938a060c35d43cfa2612e7c6ed3998 WHIRLPOOL ee7ccf452f7de334cfb398a4e735f139a7e24363b82409838062662755b565ca7f43e9bdc5c31c839352d8a4d64dd419722b7e413b243ad470199a4aeca12544
+MISC ChangeLog 8064 SHA256 501fac580af10b7dcd3ce73ecf5413ead169ddd9ba73a204d92a669fc43c3a9d SHA512 b26f8c2d8e666b2ddbf76c8b7f80604034f4c3af8dbd8d23c4bc2b4a512ce3f910d1605f6aed9e9576e00eb370522b1ff92d16a607e3fbf2d5534d3c9407347a WHIRLPOOL e333a5be6c49177f4e387d0bea35f4cae6af0374561e18bbf87afd4f62a0deb041e79fff4141ff6b5937b8a7f68f4172d03616c1a0718e3b73444b5cb71de000
+MISC metadata.xml 435 SHA256 8912fca2446901a56fb11f24fcb118ebcf452b46f9c9e36a36cf80ae6f36c746 SHA512 72ebd96d9a823afc9e93501d5b8e165b71a67ccd650c743674990201bc15639c52e9d8a12b39683a32ed95a5e4b8fdb02e52aec2f3f4a00076d7118208c17f20 WHIRLPOOL f968a145ff843ff3594c81abf4bce3b1270ed795ea6528fd7f7106e453e6c09f399f8295342b4affaa2828a534ad3fe9d6ecdb567a307c660d5648be9e05f121
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJU4EXAAAoJEPGu1DbS6WIA2usQAIbx+AXLCaFQwprKR98ppLJ6
-Ya99F9ElhhjRCnftJnRALMovSn+IurtYLrBuLHUzGDA94CHctZ2CtmnIiHxspCkV
-Js4eyFoMeD908C765xt4zKSw5Mw6iCIpot0pgT94yUv1NKLGfch2y1dqytJpcQpf
-agPjUYZ5QMPDjzdbYUG0vwc4WuIwO9ord9wqe5BQP1+3EmlT+nRXxnbvenc3NBhk
-DZRJaNpnKPl6vxnNHkcwajpG0Z4gSfbYQD7ob04A5SKW+wJ3gAmKvIbvGRMyHld9
-0byxSjglXRnVqkfHH8hqiqHKhlO+5vdWaFUme1PwNQV9Dlmd2BEHeFi/vI5OD2oH
-tJIxDOt7IXMUjkzN4X2NHMzDonOy8gtyHSL9kAsyeEhC1O4g9mBbBLmalPHF+BK6
-LL/F5mdgBf2QX2qDKsnpfqxgRnRnQHTJWJPCzTnvVYPHRYA9EIIMp7dBmXdAj5Av
-24g7kMktyrAnN9iuCBV+sXoxAc2QOs08HXn/hoGab8Emtb0UeQHMXwcR+858PuOZ
-DWQeiqNGHr3cUb+auCFd20kXR3eYAPSiD3QerXwoF9NVK7bvqjC25+SNpnpguBPi
-C4oYNSAK1iFRgd8ciDpCdT3qdba9xRMd17fJ7itOOvbiGduXN8Z7jbBVlnBwnx64
-d2+2hjY5BdUYQlcxYbG4
-=klkv
+iQIcBAEBCAAGBQJU4FKqAAoJEPGu1DbS6WIAk5QP+wdT813qVAnvPemuZS9yZymM
+XqhictLkz3owE/fyCLZZElJTh8igkKVGD9I7TgXRrTPQfZ6Dmra83bXq8jz7oeTP
+ZgHYGUONTcv4wC+K4NzwHgSv8m5hymdpfTU/jWhy5UHBy1/HiQTfmPMS1b7jJMwo
+3ZkNwep8bcrdquoSr2O0HuQOUGmTKFWPGFJyXyROTZ0WuGlmPHxdSThEwgV8/RAv
+WybdOPoK/TV0uOobj94JsHssMECwBnTvUf30LtQWe7BXYDH8Ds9uPL/OOHeXh/vl
+F+3QwXKvpr6x4HTEIw8MMDvqMfhVL1a99x2AZIwPMXAtJ6Ah0GGeQwtKcKtniGO5
+2z2QpEFtqHW2Zcoaq+R5QBCsrw5M/KqD1MK4nSCoVW5rT8ct9Xz10rZQT9Cr/Fr0
+6m/Jrm6kilIB66qVEV8jOOE7TMt20ooU8Z5dIeNcuL/iXwy8BMtnGDtUdmr1EknP
+1aA99GhR5UjrtRNSDz651YO2kF00TJvV54NpvCmKrTxJtoXKVjmh13suV7F+LNtm
+Ln4yOi9c09Eb42w7uD8ECcLuaqmRYPxD4OxNN23ippfGcEh3JZTKVln7eFRY+5xS
+BwXRmSXXTWXnQa+w0fm/CbmS8/zpjZaW4G93ziGEgTZQqZ97PXdLRi+jmPV1tXak
+hWrT3Kd3U9Ao43DTSfZR
+=hAra
 -----END PGP SIGNATURE-----
diff --git a/sys-firmware/seabios/files/seavgabios/README b/sys-firmware/seabios/files/seavgabios/README
new file mode 100644 (file)
index 0000000..7030949
--- /dev/null
@@ -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 (file)
index 0000000..c8fe582
--- /dev/null
@@ -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 (file)
index 0000000..e55e294
--- /dev/null
@@ -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 (file)
index 0000000..d393f0c
--- /dev/null
@@ -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 (file)
index 0000000..7d063b7
--- /dev/null
@@ -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 (file)
index 0000000..eb10427
--- /dev/null
@@ -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
index d7ef91f65cea905d6c3e0be2e868e8b253c5176c..4e341d27ef390988d1c423fe5e98ad79d5e92fd0 100644 (file)
@@ -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 (file)
index 0000000..e4186d0
--- /dev/null
@@ -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
+}