From 6c4684ea555fa16e4176d02a93d3c42664dd11b5 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 15 Feb 2015 08:02:49 +0000 Subject: [PATCH] Add USE=seavgabios support #523134 by Brad Laue. Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0xD2E96200 --- sys-firmware/seabios/ChangeLog | 10 +- sys-firmware/seabios/Manifest | 38 +++-- sys-firmware/seabios/files/seavgabios/README | 1 + .../files/seavgabios/config.vga-cirrus | 3 + .../files/seavgabios/config.vga-isavga | 3 + .../seabios/files/seavgabios/config.vga-qxl | 6 + .../files/seavgabios/config.vga-stdvga | 3 + .../files/seavgabios/config.vga-vmware | 6 + sys-firmware/seabios/metadata.xml | 1 + sys-firmware/seabios/seabios-1.7.5-r1.ebuild | 146 ++++++++++++++++++ 10 files changed, 201 insertions(+), 16 deletions(-) create mode 100644 sys-firmware/seabios/files/seavgabios/README create mode 100644 sys-firmware/seabios/files/seavgabios/config.vga-cirrus create mode 100644 sys-firmware/seabios/files/seavgabios/config.vga-isavga create mode 100644 sys-firmware/seabios/files/seavgabios/config.vga-qxl create mode 100644 sys-firmware/seabios/files/seavgabios/config.vga-stdvga create mode 100644 sys-firmware/seabios/files/seavgabios/config.vga-vmware create mode 100644 sys-firmware/seabios/seabios-1.7.5-r1.ebuild 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 +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 seabios-1.7.5.ebuild: Avoid downloading files that are not used (e.g. no source tarball for diff --git a/sys-firmware/seabios/Manifest b/sys-firmware/seabios/Manifest index 0a8db2c6cee1..eca6ebf7f3a1 100644 --- a/sys-firmware/seabios/Manifest +++ b/sys-firmware/seabios/Manifest @@ -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 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 @@ Use official upstream pre-built binaries + Include SeaVGABIOS binaries (replacement for vgabios) 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 +} -- 2.26.2