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