summaryrefslogtreecommitdiff
path: root/app-emulation/qemu/qemu-9999.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/qemu/qemu-9999.ebuild')
-rw-r--r--app-emulation/qemu/qemu-9999.ebuild66
1 files changed, 28 insertions, 38 deletions
diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild
index 700a2c1abe08..d9b98ce0aa0e 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -6,8 +6,6 @@ EAPI="7"
PYTHON_COMPAT=( python3_{6,7,8,9} )
PYTHON_REQ_USE="ncurses,readline"
-PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN"
-
FIRMWARE_ABI_VERSION="4.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1 \
@@ -41,9 +39,9 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
- smartcard snappy spice ssh static static-user systemtap test usb
+ smartcard snappy spice ssh static static-user systemtap test udev usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
- xfs +xkb zstd"
+ xfs zstd"
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
@@ -71,6 +69,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_riscv64? ( fdt )
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
static-user? ( !plugins )
+ vhost-user-fs? ( caps seccomp )
virtfs? ( caps xattr )
vte? ( gtk )
plugins? ( !static !static-user )
@@ -95,7 +94,6 @@ ALL_DEPEND="
# softmmu targets (qemu-system-*).
SOFTMMU_TOOLS_DEPEND="
dev-libs/libxml2[static-libs(+)]
- xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
@@ -159,6 +157,7 @@ SOFTMMU_TOOLS_DEPEND="
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
+ udev? ( virtual/libudev[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
@@ -172,13 +171,13 @@ SOFTMMU_TOOLS_DEPEND="
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-201905[binary]
- ~sys-firmware/ipxe-1.0.0_p20190728[binary]
+ ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
~sys-firmware/seabios-1.12.0[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre8[binary]
)
!pin-upstream-blobs? (
sys-firmware/edk2-ovmf
- sys-firmware/ipxe
+ sys-firmware/ipxe[qemu]
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
@@ -225,6 +224,7 @@ RDEPEND="${CDEPEND}
PATCHES=(
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
+ "${FILESDIR}"/${PN}-5.2.0-strings.patch
)
QA_PREBUILT="
@@ -232,10 +232,13 @@ QA_PREBUILT="
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
+ usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
+ usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/s390-netboot.img
- usr/share/qemu/u-boot.e500"
+ usr/share/qemu/u-boot.e500
+"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
@@ -258,7 +261,8 @@ QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
- usr/bin/qemu-unicore32"
+ usr/bin/qemu-unicore32
+"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
kernel module loaded before running kvm. The easiest way to ensure that the
@@ -348,29 +352,6 @@ check_targets() {
popd >/dev/null
}
-handle_locales() {
- # Make sure locale list is kept up-to-date.
- local detected sorted
- detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
- sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
- if [[ ${sorted} != "${detected}" ]] ; then
- eerror "The ebuild needs to be kept in sync."
- eerror "PLOCALES: ${sorted}"
- eerror " po/*.po: ${detected}"
- die "sync PLOCALES"
- fi
-
- # Deal with selective install of locales.
- if use nls ; then
- # Delete locales the user does not want. #577814
- rm_loc() { rm po/$1.po || die; }
- l10n_for_each_disabled_locale_do rm_loc
- else
- # Cheap hack to disable gettext .mo generation.
- rm -f po/*.po
- fi
-}
-
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
@@ -378,15 +359,12 @@ src_prepare() {
default
# Use correct toolchain to fix cross-compiling
- tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB
+ tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
- # Run after we've applied all patches.
- handle_locales
-
# Remove bundled copy of libfdt
rm -r dtc || die
}
@@ -439,6 +417,7 @@ qemu_src_configure() {
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
$(use_enable doc docs)
+ $(use_enable nls gettext)
$(use_enable plugins)
$(use_enable xattr attr)
)
@@ -460,6 +439,14 @@ qemu_src_configure() {
echo "--disable-${2:-$1}"
fi
}
+ # Enable option only for tools build, but not 'user' or 'softmmu'
+ conf_tools() {
+ if [[ ${buildtype} == "tools" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
@@ -495,11 +482,13 @@ qemu_src_configure() {
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
+ $(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
+ $(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_notuser virtfs)
$(conf_notuser vnc)
@@ -507,7 +496,8 @@ qemu_src_configure() {
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
- $(conf_notuser xkb xkbcommon)
+ # use prebuilt keymaps, bug #759604
+ --disable-xkbcommon
$(conf_notuser zstd)
)
@@ -748,7 +738,7 @@ src_install() {
doins "${FILESDIR}/bridge.conf"
cd "${S}"
- dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
+ dodoc MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
# Disallow stripping of prebuilt firmware files.