# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is stable on amd64
+sys-firmware/seabios -binary
+
# Georgy Yakovlev <gyakovlev@gentoo.org> (2018-05-14)
# Force the host target to avoid dependency hell
dev-lang/rust llvm_targets_X86
#--- END OF EXAMPLES ---
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is stable on amd64
+sys-firmware/seabios -debug
+
# Georgy Yakovlev <gyakovlev@gentoo.org> (2019-08-28)
# upstream provides docs and tools for tier-1 arches
dev-lang/rust-bin -doc
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is keyworded ~arm64
+sys-firmware/seabios -binary
+
# Georgy Yakovlev <gyakovlev@gentoo.org> (2018-05-14)
# Force the host target to avoid dependency hell
dev-lang/rust llvm_targets_AArch64
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is keyworded ~arm64
+sys-firmware/seabios -debug
+
# Aaron Bauman <bman@gentoo.org> (2019-08-05)
# dep not keyworded here
media-gfx/gnome-photos upnp-av
--- /dev/null
+# Copyright 2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (19 Nov 2018)
+# iasl is keyworded ~arm64
+sys-firmware/seabios binary
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is keyworded ~arm64
+sys-firmware/seabios debug
+
# Andreas Sturmlechner <asturm@gentoo.org> (2019-09-14)
# media-video/pipewire is not stable yet
dev-libs/weston pipewire
--- /dev/null
+# Copyright 2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (19 Nov 2018)
+# iasl is not keyworded on many platforms yet
+sys-firmware/seabios binary
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# Moved from arch/powerpc/ppc64 as it applies to most architectures.
+sys-firmware/seabios debug
+
# Georgy Yakovlev <gyakovlev@gentoo.org> (2019-08-28)
# upstream tarballs for tier-2 arches do not ship docs
# and starting with 1.37 no longer ship extra tools
--- /dev/null
+# Copyright 2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (19 Nov 2018)
+# iasl is stable on ppc
+sys-firmware/seabios -binary
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is stable on ppc
+sys-firmware/seabios -debug
+
# Andreas Sturmlechner <asturm@gentoo.org> (2019-05-15)
# sys-cluster/hpx, sci-libs/silo, sci-visualization/visit not keyworded
sci-libs/libgeodecomp hpx silo visit
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-sys-firmware/seabios binary
+# Samuli Suominen <ssuominen@gentoo.org> (30 Oct 2012)
+# Only gnome-base/gdm has stable keywording. If x11-misc/lightdm or kde-plasma/kdm gets
+# stable keyword, this line can be removed.
+x11-misc/xscreensaver gdm
# missing keyword on dev-python/dbusmock, bug #620024
>=gnome-base/gnome-settings-daemon-3.24 test
-# Michał Górny <mgorny@gentoo.org> (2017-08-08)
-# package.use.force forces USE=binary, and USE=debug requires !binary,
-# so it can never be enabled.
-sys-firmware/seabios debug
-
# Michał Górny <mgorny@gentoo.org> (2017-06-28)
# app-misc/dtach is not keyworded, and tests are restricted anyway, so
# no point in pursuing it right now.
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-11-21)
+# iasl is stable on x86
+sys-firmware/seabios -binary
+
# Georgy Yakovlev <gyakovlev@gentoo.org> (2018-05-14)
# Force the host target to avoid dependency hell
dev-lang/rust llvm_targets_X86
# This file requires >=portage-2.1.1
+# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
+# iasl is stable on x86
+sys-firmware/seabios -debug
+
# Andreas Sturmlechner <asturm@gentoo.org> (2019-09-06)
# dev-qt/qtgamepad is not keyworded yet
dev-qt/qt3d gamepad
SLOT="0"
IUSE="+binary debug +seavgabios"
-REQUIRED_USE="debug? ( !binary )
- !amd64? ( !x86? ( binary ) )"
+REQUIRED_USE="debug? ( !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} )
+ ${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 "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
}
src_compile() {
use binary && return
+ local TARGET_CHOST=$(choose_target_chost)
+
cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
_emake oldnoconfig
- _emake iasl
- _emake out/bios.bin
+ CHOST="${TARGET_CHOST}" _emake iasl
+ CHOST="${TARGET_CHOST}" _emake out/bios.bin
mv out/bios.bin ../bios-256k.bin || die
if use seavgabios ; then
emake clean distclean
cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die
_emake oldnoconfig
- _emake out/vgabios.bin
+ CHOST="${TARGET_CHOST}" _emake out/vgabios.bin
cp out/vgabios.bin ../vgabios-${t}.bin || die
done
fi