mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 09:26:58 +02:00
sys-firmware/seabios: update to 1.12.0
needed by app-emulation/qemu-4.2.0
This commit is contained in:
parent
96dcb5c0f6
commit
d9f51da3c9
@ -1,13 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install pretend setup unpack
|
||||
DEPEND=!binary? ( amd64? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 ) ) x86? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 ) ) )
|
||||
DEPEND=!binary? ( amd64? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) ) x86? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) ) )
|
||||
DESCRIPTION=Open Source implementation of a 16-bit x86 BIOS
|
||||
EAPI=6
|
||||
HOMEPAGE=https://www.seabios.org/
|
||||
IUSE=+binary debug +seavgabios
|
||||
KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
|
||||
KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86
|
||||
LICENSE=LGPL-3 GPL-3
|
||||
REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) )
|
||||
SLOT=0
|
||||
SRC_URI=!binary? ( https://code.coreboot.org/p/seabios/downloads/get/seabios-1.10.2.tar.gz ) binary? ( https://dev.gentoo.org/~tamiko/distfiles/seabios-1.10.2-bin.tar.xz )
|
||||
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
|
||||
_md5_=fcadd2aefc816c02906cc4a13cc472a5
|
||||
_md5_=5347d234ff052692d8cdfb436b2d8eaa
|
||||
|
@ -1,13 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install pretend setup unpack
|
||||
DEPEND=!binary? ( amd64? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 ) ) x86? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 ) ) )
|
||||
DEPEND=!binary? ( amd64? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) ) x86? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) ) )
|
||||
DESCRIPTION=Open Source implementation of a 16-bit x86 BIOS
|
||||
EAPI=6
|
||||
HOMEPAGE=https://www.seabios.org/
|
||||
IUSE=+binary debug +seavgabios
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd
|
||||
KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86
|
||||
LICENSE=LGPL-3 GPL-3
|
||||
REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) )
|
||||
SLOT=0
|
||||
SRC_URI=!binary? ( https://code.coreboot.org/p/seabios/downloads/get/seabios-1.11.0.tar.gz ) binary? ( https://dev.gentoo.org/~tamiko/distfiles/seabios-1.11.0-bin.tar.xz )
|
||||
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
|
||||
_md5_=a0cf7a6fc06b550bf09c5058bfde572e
|
||||
_md5_=8e0a7808510cfa8b180aba7eef8d37fe
|
||||
|
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-firmware/seabios-1.11.0-r1
vendored
Normal file
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-firmware/seabios-1.11.0-r1
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install prepare pretend setup unpack
|
||||
DEPEND=!binary? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) )
|
||||
DESCRIPTION=Open Source implementation of a 16-bit x86 BIOS
|
||||
EAPI=6
|
||||
HOMEPAGE=https://www.seabios.org/
|
||||
IUSE=+binary debug +seavgabios
|
||||
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86
|
||||
LICENSE=LGPL-3 GPL-3
|
||||
REQUIRED_USE=debug? ( !binary )
|
||||
SLOT=0
|
||||
SRC_URI=!binary? ( https://code.coreboot.org/p/seabios/downloads/get/seabios-1.11.0.tar.gz ) binary? ( https://dev.gentoo.org/~tamiko/distfiles/seabios-1.11.0-bin.tar.xz )
|
||||
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
|
||||
_md5_=6aa46c0ebde184650dedee246ca2d996
|
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-firmware/seabios-1.12.0
vendored
Normal file
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-firmware/seabios-1.12.0
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install prepare pretend setup unpack
|
||||
DEPEND=!binary? ( amd64? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) ) x86? ( >=sys-power/iasl-20060912 || ( dev-lang/python:3.6 ) ) )
|
||||
DESCRIPTION=Open Source implementation of a 16-bit x86 BIOS
|
||||
EAPI=7
|
||||
HOMEPAGE=https://www.seabios.org/
|
||||
IUSE=+binary debug +seavgabios
|
||||
KEYWORDS=~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86
|
||||
LICENSE=LGPL-3 GPL-3
|
||||
REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) )
|
||||
SLOT=0
|
||||
SRC_URI=!binary? ( https://code.coreboot.org/p/seabios/downloads/get/seabios-1.12.0.tar.gz ) binary? ( https://dev.gentoo.org/~tamiko/distfiles/seabios-1.12.0-bin.tar.xz )
|
||||
_eclasses_=eutils 6e6c2737b59a4b982de6fb3ecefd87f8 multilib 1d91b03d42ab6308b5f4f6b598ed110e python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
|
||||
_md5_=d51d6a10923d80d9aba9d86218dd214f
|
@ -2,3 +2,5 @@ DIST seabios-1.10.2-bin.tar.xz 121172 BLAKE2B 9d4ff624b638773e59bbf6674fb8630bd8
|
||||
DIST seabios-1.10.2.tar.gz 589283 BLAKE2B 08fdbecf7fb06629db472adb05a780249dbf0e0a44d04dcced5480d631c133f74ecd04b04486db3bb817b8e119e783c4b09c3ade15b9a6cc956537e9f7204514 SHA512 ea8396fe247a3bd16b43ab775cf8e23f139673b94e83f450cadb094cc8117ca7e9ef518162d965209d5ab091c96f70ec5cc8ec8d15b638e06c4c8f7a0e1609dc
|
||||
DIST seabios-1.11.0-bin.tar.xz 158552 BLAKE2B 44c42b9eea70a090ad51296949fe79e5360b569bae791fe84f447061f8dbcdb6b601501e2cc1607b62308f3118087386d15ba32c8495202f62f9f9a1e3cf27c3 SHA512 03a1523dc99dbf6e353e7844a4f12020d88bf8d5cbfd187007663ab1b02447b02694f27ee93aa46a18a5ab161f13b1ffe62f2d0f678cd86975a3d53295a6eb1e
|
||||
DIST seabios-1.11.0.tar.gz 607746 BLAKE2B 9f688be6b8f7c0fcbd72b59ac649a9c763fdd9e2971a4d85636c9972efc0ad42082a1622a8c41156ad1e2063907349c2e02cff9aeb444844dc445b5f7d6062bb SHA512 cae79c720bfbba3321777bbc6d5bde432fe56e2ba8f1be8acfebbde0bd453a58e889f5fa24db6055dca0a3a56d35b907761723ea35ef248c5f812129d0a27b77
|
||||
DIST seabios-1.12.0-bin.tar.xz 162492 BLAKE2B 9a5a349226ed7efbed328493dc057e232203b251677a23f1f09c133743ff0ca6b05270c9d27460be1d8897888fe23ff7bdfa122023fa8ddb23af03d5b9b6f8dd SHA512 f7a0395d621245093bb9a278d95ecc3d4e8d23f620058cd4fddaf885c8b86256f6258f3fd8173c1d24c03306f44d180e768bf8005ee123bc4b699b9f0ca371be
|
||||
DIST seabios-1.12.0.tar.gz 613542 BLAKE2B f145c2db716996bfa9e5c014086ccfaa8ae96ebc158f34303b122b7bf209408c567665d8691364df8d8e886f63e0e72a3f3cd319dfa86ef581023201b5d94e53 SHA512 e52c5363e5bb37b5286e55545aa06bd126218f9d0e3a06ac2e189de68fe3de3256c11ca1bb13357a9c384d7e3af6284083ff3aa587688b5de04ef11b97bdfa27
|
||||
|
2
sdk_container/src/third_party/portage-stable/sys-firmware/seabios/files/README
vendored
Normal file
2
sdk_container/src/third_party/portage-stable/sys-firmware/seabios/files/README
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
The configuration files config.vga-xxx are based on the variants found in
|
||||
the qemu/roms/ tree.
|
@ -1 +0,0 @@
|
||||
The config.vga-xxx files come from the qemu/roms/ tree.
|
@ -1 +0,0 @@
|
||||
The config.vga-xxx files come from the qemu/roms/ tree.
|
@ -2,12 +2,8 @@
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>cardoe@gentoo.org</email>
|
||||
<name>Doug Goldstein</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>qemu@gentoo.org</email>
|
||||
<name>Gentoo QEMU Project</name>
|
||||
<email>tamiko@gentoo.org</email>
|
||||
<name>Matthias Maier</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>virtualization@gentoo.org</email>
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
|
||||
PYTHON_COMPAT=( python3_6 )
|
||||
|
||||
inherit eutils toolchain-funcs python-any-r1
|
||||
|
||||
@ -16,7 +16,7 @@ if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
|
||||
EGIT_REPO_URI="git://git.seabios.org/seabios.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
|
||||
|
||||
# Binary versions taken from fedora:
|
||||
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
|
||||
|
171
sdk_container/src/third_party/portage-stable/sys-firmware/seabios/seabios-1.11.0-r1.ebuild
vendored
Normal file
171
sdk_container/src/third_party/portage-stable/sys-firmware/seabios/seabios-1.11.0-r1.ebuild
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python3_6 )
|
||||
|
||||
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* || -n "${EGIT_COMMIT}" ]] ; then
|
||||
EGIT_REPO_URI="git://git.seabios.org/seabios.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
|
||||
# Binary versions taken from fedora:
|
||||
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
|
||||
# seabios-bin-1.10.2-1.fc27.noarch.rpm
|
||||
# seavgabios-bin-1.10.2-1.fc27.noarch.rpm
|
||||
SRC_URI="
|
||||
!binary? ( https://code.coreboot.org/p/seabios/downloads/get/${P}.tar.gz )
|
||||
binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
|
||||
HOMEPAGE="https://www.seabios.org/"
|
||||
|
||||
LICENSE="LGPL-3 GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="+binary debug +seavgabios"
|
||||
|
||||
REQUIRED_USE="debug? ( !binary )"
|
||||
|
||||
SOURCE_DEPEND="
|
||||
>=sys-power/iasl-20060912
|
||||
${PYTHON_DEPS}"
|
||||
DEPEND="
|
||||
!binary? (
|
||||
${SOURCE_DEPEND}
|
||||
)"
|
||||
RDEPEND=""
|
||||
|
||||
choose_target_chost() {
|
||||
if [[ -n "${CC}" ]]; then
|
||||
${CC} -dumpmachine
|
||||
return
|
||||
fi
|
||||
|
||||
if use amd64 || use x86; then
|
||||
# Use the native compiler
|
||||
echo "${CHOST}"
|
||||
return
|
||||
fi
|
||||
|
||||
local i
|
||||
for i in x86_64 i686 i586 i486 i386 ; do
|
||||
i=${i}-pc-linux-gnu
|
||||
type -P ${i}-gcc > /dev/null && echo ${i} && return
|
||||
done
|
||||
}
|
||||
|
||||
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."
|
||||
if [[ -z "$(choose_target_chost)" ]]; then
|
||||
elog
|
||||
eerror "Before you can compile ${PN}[-binary], you need to install a x86 cross-compiler"
|
||||
eerror "Run the following commands:"
|
||||
eerror " emerge crossdev"
|
||||
eerror " crossdev --stable -t x86_64-pc-linux-gnu"
|
||||
die "cross-compiler is needed"
|
||||
fi
|
||||
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() {
|
||||
default
|
||||
|
||||
# Ensure precompiled iasl files are never used
|
||||
find "${WORKDIR}" -name '*.hex' -delete || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use binary && return
|
||||
|
||||
tc-ld-disable-gold #438058
|
||||
|
||||
if use debug ; then
|
||||
echo "CONFIG_DEBUG_LEVEL=8" >.config
|
||||
fi
|
||||
_emake config
|
||||
}
|
||||
|
||||
_emake() {
|
||||
LANG=C \
|
||||
emake V=1 \
|
||||
CC="$(tc-getCC)" \
|
||||
LD="$(tc-getLD)" \
|
||||
AR="$(tc-getAR)" \
|
||||
AS="$(tc-getAS)" \
|
||||
OBJCOPY="$(tc-getOBJCOPY)" \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
OBJDUMP="$(tc-getOBJDUMP)" \
|
||||
HOST_CC="$(tc-getBUILD_CC)" \
|
||||
VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use binary && return
|
||||
|
||||
local TARGET_CHOST=$(choose_target_chost)
|
||||
|
||||
cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
|
||||
_emake oldnoconfig
|
||||
CHOST="${TARGET_CHOST}" _emake iasl
|
||||
CHOST="${TARGET_CHOST}" _emake out/bios.bin
|
||||
mv out/bios.bin ../bios-256k.bin || die
|
||||
|
||||
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
|
||||
CHOST="${TARGET_CHOST}" _emake out/vgabios.bin
|
||||
cp out/vgabios.bin ../vgabios-${t}.bin || die
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/seabios
|
||||
use binary && doins ../bios.bin
|
||||
doins ../bios-256k.bin
|
||||
|
||||
if use seavgabios ; then
|
||||
insinto /usr/share/seavgabios
|
||||
doins ../vgabios*.bin
|
||||
fi
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
|
||||
PYTHON_COMPAT=( python3_6 )
|
||||
|
||||
inherit eutils toolchain-funcs python-any-r1
|
||||
|
||||
@ -16,7 +16,7 @@ if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
|
||||
EGIT_REPO_URI="git://git.seabios.org/seabios.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
|
||||
|
||||
# Binary versions taken from fedora:
|
||||
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
|
||||
|
145
sdk_container/src/third_party/portage-stable/sys-firmware/seabios/seabios-1.12.0.ebuild
vendored
Normal file
145
sdk_container/src/third_party/portage-stable/sys-firmware/seabios/seabios-1.12.0.ebuild
vendored
Normal file
@ -0,0 +1,145 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_6 )
|
||||
|
||||
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* || -n "${EGIT_COMMIT}" ]] ; then
|
||||
EGIT_REPO_URI="git://git.seabios.org/seabios.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
|
||||
|
||||
# Binary versions taken from fedora:
|
||||
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
|
||||
# seabios-bin-1.12.1-2.fc31.noarch.rpm
|
||||
# seavgabios-bin-1.12.1-2.fc31.noarch.rpm
|
||||
SRC_URI="
|
||||
!binary? ( https://code.coreboot.org/p/seabios/downloads/get/${P}.tar.gz )
|
||||
binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
|
||||
HOMEPAGE="https://www.seabios.org/"
|
||||
|
||||
LICENSE="LGPL-3 GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="+binary debug +seavgabios"
|
||||
|
||||
REQUIRED_USE="debug? ( !binary )
|
||||
!amd64? ( !x86? ( binary ) )"
|
||||
|
||||
# The amd64/x86 check is needed to workaround #570892.
|
||||
SOURCE_DEPEND="
|
||||
>=sys-power/iasl-20060912
|
||||
${PYTHON_DEPS}"
|
||||
DEPEND="
|
||||
!binary? (
|
||||
amd64? ( ${SOURCE_DEPEND} )
|
||||
x86? ( ${SOURCE_DEPEND} )
|
||||
)"
|
||||
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() {
|
||||
default
|
||||
|
||||
# Ensure precompiled iasl files are never used
|
||||
find "${WORKDIR}" -name '*.hex' -delete || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use binary && return
|
||||
|
||||
tc-ld-disable-gold #438058
|
||||
|
||||
if use debug ; then
|
||||
echo "CONFIG_DEBUG_LEVEL=8" >.config
|
||||
fi
|
||||
_emake config
|
||||
}
|
||||
|
||||
_emake() {
|
||||
LANG=C \
|
||||
emake V=1 \
|
||||
CC="$(tc-getCC)" \
|
||||
LD="$(tc-getLD)" \
|
||||
AR="$(tc-getAR)" \
|
||||
AS="$(tc-getAS)" \
|
||||
OBJCOPY="$(tc-getOBJCOPY)" \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
OBJDUMP="$(tc-getOBJDUMP)" \
|
||||
HOST_CC="$(tc-getBUILD_CC)" \
|
||||
VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use binary && return
|
||||
|
||||
cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
|
||||
_emake oldnoconfig
|
||||
_emake iasl
|
||||
_emake out/bios.bin
|
||||
mv out/bios.bin ../bios-256k.bin || die
|
||||
|
||||
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
|
||||
use binary && doins ../bios.bin
|
||||
doins ../bios-256k.bin
|
||||
|
||||
if use seavgabios ; then
|
||||
insinto /usr/share/seavgabios
|
||||
doins ../vgabios*.bin
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue
Block a user