sys-firmware/seabios: update to 1.12.0

needed by app-emulation/qemu-4.2.0
This commit is contained in:
Dongsu Park 2020-03-31 09:59:32 +02:00
parent 96dcb5c0f6
commit d9f51da3c9
13 changed files with 360 additions and 20 deletions

View File

@ -1,13 +1,13 @@
DEFINED_PHASES=compile configure install pretend setup unpack 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 DESCRIPTION=Open Source implementation of a 16-bit x86 BIOS
EAPI=6 EAPI=6
HOMEPAGE=https://www.seabios.org/ HOMEPAGE=https://www.seabios.org/
IUSE=+binary debug +seavgabios 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 LICENSE=LGPL-3 GPL-3
REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) ) REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) )
SLOT=0 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 ) 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 _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

View File

@ -1,13 +1,13 @@
DEFINED_PHASES=compile configure install pretend setup unpack 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 DESCRIPTION=Open Source implementation of a 16-bit x86 BIOS
EAPI=6 EAPI=6
HOMEPAGE=https://www.seabios.org/ HOMEPAGE=https://www.seabios.org/
IUSE=+binary debug +seavgabios 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 LICENSE=LGPL-3 GPL-3
REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) ) REQUIRED_USE=debug? ( !binary ) !amd64? ( !x86? ( binary ) )
SLOT=0 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 ) 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 _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

View 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

View 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

View File

@ -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.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-bin.tar.xz 158552 BLAKE2B 44c42b9eea70a090ad51296949fe79e5360b569bae791fe84f447061f8dbcdb6b601501e2cc1607b62308f3118087386d15ba32c8495202f62f9f9a1e3cf27c3 SHA512 03a1523dc99dbf6e353e7844a4f12020d88bf8d5cbfd187007663ab1b02447b02694f27ee93aa46a18a5ab161f13b1ffe62f2d0f678cd86975a3d53295a6eb1e
DIST seabios-1.11.0.tar.gz 607746 BLAKE2B 9f688be6b8f7c0fcbd72b59ac649a9c763fdd9e2971a4d85636c9972efc0ad42082a1622a8c41156ad1e2063907349c2e02cff9aeb444844dc445b5f7d6062bb SHA512 cae79c720bfbba3321777bbc6d5bde432fe56e2ba8f1be8acfebbde0bd453a58e889f5fa24db6055dca0a3a56d35b907761723ea35ef248c5f812129d0a27b77 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

View File

@ -0,0 +1,2 @@
The configuration files config.vga-xxx are based on the variants found in
the qemu/roms/ tree.

View File

@ -1 +0,0 @@
The config.vga-xxx files come from the qemu/roms/ tree.

View File

@ -1 +0,0 @@
The config.vga-xxx files come from the qemu/roms/ tree.

View File

@ -2,12 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="person"> <maintainer type="person">
<email>cardoe@gentoo.org</email> <email>tamiko@gentoo.org</email>
<name>Doug Goldstein</name> <name>Matthias Maier</name>
</maintainer>
<maintainer type="project">
<email>qemu@gentoo.org</email>
<name>Gentoo QEMU Project</name>
</maintainer> </maintainer>
<maintainer type="project"> <maintainer type="project">
<email>virtualization@gentoo.org</email> <email>virtualization@gentoo.org</email>

View File

@ -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 # Distributed under the terms of the GNU General Public License v2
EAPI="6" EAPI="6"
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) PYTHON_COMPAT=( python3_6 )
inherit eutils toolchain-funcs python-any-r1 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" EGIT_REPO_URI="git://git.seabios.org/seabios.git"
inherit git-r3 inherit git-r3
else 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: # Binary versions taken from fedora:
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/ # http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/

View 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
}

View File

@ -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 # Distributed under the terms of the GNU General Public License v2
EAPI="6" EAPI="6"
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) PYTHON_COMPAT=( python3_6 )
inherit eutils toolchain-funcs python-any-r1 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" EGIT_REPO_URI="git://git.seabios.org/seabios.git"
inherit git-r3 inherit git-r3
else 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: # Binary versions taken from fedora:
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/ # http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/

View 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
}