sys-firmware/seabios: version bump to 1.14.0

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Matthias Maier <tamiko@gentoo.org>
This commit is contained in:
Matthias Maier
2021-04-04 19:22:19 -05:00
parent 6cb2f8dbfe
commit e132ca9b5f
2 changed files with 168 additions and 0 deletions

View File

@@ -1,2 +1,4 @@
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
DIST seabios-1.14.0-bin.tar.xz 170160 BLAKE2B 1ab471ce0c6e27633ec42a66e3069496be84de713baab5de4f297821bd0da26404f7f70abc82e223ec5aa317a878889ae92b019988c72d24f77e7dcc5865f916 SHA512 7964e9bb7dff4fd6593f5d6d64efc4b1460750461b86635dbe5255d2086d619f51711d7a35e4dc20e556f705091c0950afabeddcd2e8876f05ce14f9ca73ed71
DIST seabios-1.14.0.tar.gz 628985 BLAKE2B cc1126925dab1551a655680d20d06ebf28c12c386500d1ee4df9e1a99403b4c5bc6a66c2cc5ef58b4c3d6d7226f35007506a6a1855c2cf2742469dcb7aba05bb SHA512 215c42f59425f8abd062be7b11fc0e39c977cee5001a2381551b0f851ac337d0dd53c065267e6dee0e710ffd700fa635f9007b89da8dfce0f47122c984ee8146

View File

@@ -0,0 +1,166 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{7..9} )
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"
SRC_URI="
!binary? ( https://www.seabios.org/downloads/${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
doins ../bios-256k.bin
if use seavgabios ; then
insinto /usr/share/seavgabios
doins ../vgabios*.bin
fi
}