1 |
|
# Copyright 1999-2024 Gentoo Authors
|
|
1 |
# Copyright 1999-2025 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
PYTHON_COMPAT=( python3_{10..12} )
|
|
6 |
PYTHON_COMPAT=( python3_{10..13} )
|
7 |
7 |
|
8 |
8 |
inherit toolchain-funcs python-any-r1
|
9 |
9 |
|
... | ... | |
17 |
17 |
inherit git-r3
|
18 |
18 |
else
|
19 |
19 |
SRC_URI="https://www.seabios.org/downloads/${P}.tar.gz"
|
20 |
|
KEYWORDS="~alpha amd64 arm64 ~loong ~m68k ~mips ~ppc ppc64 x86"
|
|
20 |
KEYWORDS="~alpha amd64 arm64 ~loong ~m68k ~mips ppc ppc64 x86"
|
21 |
21 |
fi
|
22 |
22 |
|
23 |
23 |
DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
|
... | ... | |
28 |
28 |
IUSE="debug +seavgabios"
|
29 |
29 |
|
30 |
30 |
BDEPEND="
|
|
31 |
sys-devel/gcc:*
|
31 |
32 |
>=sys-power/iasl-20060912
|
32 |
33 |
${PYTHON_DEPS}"
|
33 |
34 |
RDEPEND="!sys-firmware/seabios-bin"
|
... | ... | |
52 |
53 |
}
|
53 |
54 |
|
54 |
55 |
pkg_pretend() {
|
55 |
|
ewarn "You have decided to compile your own SeaBIOS. This is not"
|
56 |
|
ewarn "supported by upstream unless you use their recommended"
|
57 |
|
ewarn "toolchain (which you are not)."
|
58 |
|
elog
|
59 |
|
ewarn "If you are intending to use this build with QEMU, realize"
|
60 |
|
ewarn "you will not receive any support if you have compiled your"
|
61 |
|
ewarn "own SeaBIOS. Virtual machines subtly fail based on changes"
|
62 |
|
ewarn "in SeaBIOS."
|
|
56 |
ewarn "You have decided to compile your own SeaBIOS. This may cause subtle"
|
|
57 |
ewarn "failures at runtime. Please try sys-firmware/seabios-bin before"
|
|
58 |
ewarn "requesting support from Gentoo or upstream."
|
|
59 |
|
63 |
60 |
if [[ -z "$(choose_target_chost)" ]]; then
|
64 |
61 |
elog
|
65 |
62 |
eerror "Before you can compile ${PN}, you need to install a x86 cross-compiler"
|
... | ... | |
75 |
72 |
|
76 |
73 |
# Ensure precompiled iasl files are never used
|
77 |
74 |
find "${WORKDIR}" -name '*.hex' -delete || die
|
|
75 |
|
|
76 |
# Force gcc because build failed with clang, #887115
|
|
77 |
if ! tc-is-gcc ; then
|
|
78 |
ewarn "seabios can be built with gcc only."
|
|
79 |
ewarn "Ignoring CC=$(tc-getCC) and forcing ${CHOST}-gcc"
|
|
80 |
export CC=${CHOST}-gcc
|
|
81 |
export CXX=${CHOST}-g++
|
|
82 |
tc-is-gcc || die "tc-is-gcc failed in spite of CC=${CC}"
|
|
83 |
fi
|
78 |
84 |
}
|
79 |
85 |
|
80 |
86 |
src_configure() {
|
81 |
|
tc-ld-disable-gold #438058
|
|
87 |
tc-ld-force-bfd #438058
|
82 |
88 |
|
83 |
89 |
if use debug ; then
|
84 |
90 |
echo "CONFIG_DEBUG_LEVEL=8" >.config
|