diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest index 2157b27ec6..160a89b0e1 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/Manifest @@ -1 +1 @@ -DIST qemu-5.2.0.tar.xz 106902800 BLAKE2B 4413d5591cbabf80faba5b0b7347ee7749ff0a71af44bdf7f64b1995e17ecf1f3df539fa8e63959e0d50cd0502a41a2921e60cc6d078ed8ab5b09ab4b86d4ed7 SHA512 bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3 +DIST qemu-6.1.0.tar.xz 111258808 BLAKE2B 412eecf6d39debd6089b26d3b22e5d25c6c8c30d2eaf31b17c25cc2b3a1b10794a30218dfb151c78801aa295255aa974b297f1fe05b93f14334f203c2af5ccee SHA512 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r1 b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r1 deleted file mode 100644 index ab3776ac29..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/65-kvm.rules-r1 +++ /dev/null @@ -1,2 +0,0 @@ -KERNEL=="kvm", GROUP="kvm", MODE="0660" -KERNEL=="vhost-net", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-net" diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch deleted file mode 100644 index 33115f1df4..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch +++ /dev/null @@ -1,40 +0,0 @@ --Wall -Wextra compains about unused arguments, -causes safe-stack to be mis-detected. ---- a/configure -+++ b/configure -@@ -2293,7 +2293,7 @@ fi - cat > $TMPC << EOF - #include - #include --int main(int argc, char *argv[]) { -+int main(void) { - return printf("%zu", SIZE_MAX); - } - EOF -@@ -4911,7 +4911,7 @@ fi - - if test "$safe_stack" = "yes"; then - cat > $TMPC << EOF --int main(int argc, char *argv[]) -+int main(void) - { - #if ! __has_feature(safe_stack) - #error SafeStack Disabled -@@ -4933,7 +4933,7 @@ EOF - fi - else - cat > $TMPC << EOF --int main(int argc, char *argv[]) -+int main(void) - { - #if defined(__has_feature) - #if __has_feature(safe_stack) -@@ -5283,7 +5283,7 @@ static const int Z = 1; - #define TAUT(X) ((X) == Z) - #define PAREN(X, Y) (X == Y) - #define ID(X) (X) --int main(int argc, char *argv[]) -+int main(void) - { - int x = 0, y = 0; - x = ID(x); diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch deleted file mode 100644 index 5396983379..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch +++ /dev/null @@ -1,16 +0,0 @@ -Se absolute filename in files like - /usr/share/qemu/firmware/50-edk2-x86_64-secure.json - -Bug: https://bugs.gentoo.org/766743 -Patch-by: Jannik Glückert ---- a/pc-bios/descriptors/meson.build -+++ b/pc-bios/descriptors/meson.build -@@ -8,7 +8,7 @@ foreach f: [ - ] - configure_file(input: files(f), - output: f, -- configuration: {'DATADIR': qemu_datadir}, -+ configuration: {'DATADIR': get_option('prefix') / qemu_datadir}, - install: get_option('install_blobs'), - install_dir: qemu_datadir / 'firmware') - endforeach diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch deleted file mode 100644 index f47a58790c..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch +++ /dev/null @@ -1,73 +0,0 @@ -From bbd2d5a8120771ec59b86a80a1f51884e0a26e53 Mon Sep 17 00:00:00 2001 -From: Christian Ehrhardt -Date: Mon, 14 Dec 2020 16:09:38 +0100 -Subject: [PATCH] build: -no-pie is no functional linker flag - -Recent binutils changes dropping unsupported options [1] caused a build -issue in regard to the optionroms. - - ld -m elf_i386 -T /<>/pc-bios/optionrom//flat.lds -no-pie \ - -s -o multiboot.img multiboot.o - ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?) - -This isn't really a regression in ld.bfd, filing the bug upstream -revealed that this never worked as a ld flag [2] - in fact it seems we -were by accident setting --nmagic). - -Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be -droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE -in .mak, therefore we can also remove it from being added there. - -[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d -[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5 - -Signed-off-by: Christian Ehrhardt -Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com> -Cc: qemu-stable@nongnu.org -Signed-off-by: Paolo Bonzini ---- - configure | 3 --- - pc-bios/optionrom/Makefile | 1 - - 2 files changed, 4 deletions(-) - ---- a/configure -+++ b/configure -@@ -2137,7 +2137,6 @@ EOF - # Check we support --no-pie first; we will need this for building ROMs. - if compile_prog "-Werror -fno-pie" "-no-pie"; then - CFLAGS_NOPIE="-fno-pie" -- LDFLAGS_NOPIE="-no-pie" - fi - - if test "$static" = "yes"; then -@@ -2153,7 +2152,6 @@ if test "$static" = "yes"; then - fi - elif test "$pie" = "no"; then - CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS" -- CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS" - elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then - CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS" - CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS" -@@ -6714,7 +6712,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak - echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak - echo "GLIB_LIBS=$glib_libs" >> $config_host_mak - echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak --echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak - echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak - echo "EXESUF=$EXESUF" >> $config_host_mak - echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak -diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile -index 084fc10f05..30771f8d17 100644 ---- a/pc-bios/optionrom/Makefile -+++ b/pc-bios/optionrom/Makefile -@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32) - - LD_I386_EMULATION ?= elf_i386 - override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds --override LDFLAGS += $(LDFLAGS_NOPIE) - - all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin - --- -2.30.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-strings.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-strings.patch deleted file mode 100644 index 0b3dcdce78..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-5.2.0-strings.patch +++ /dev/null @@ -1,23 +0,0 @@ -https://bugs.gentoo.org/759310 ---- a/configure -+++ b/configure -@@ -521,6 +521,7 @@ ld="${LD-${cross_prefix}ld}" - ranlib="${RANLIB-${cross_prefix}ranlib}" - nm="${NM-${cross_prefix}nm}" - strip="${STRIP-${cross_prefix}strip}" -+strings="${STRINGS-${cross_prefix}strings}" - windres="${WINDRES-${cross_prefix}windres}" - pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}" - query_pkg_config() { -@@ -2265,9 +2266,9 @@ int main(int argc, char *argv[]) { - EOF - - if compile_object ; then -- if strings -a $TMPO | grep -q BiGeNdIaN ; then -+ if $strings -a $TMPO | grep -q BiGeNdIaN ; then - bigendian="yes" -- elif strings -a $TMPO | grep -q LiTtLeEnDiAn ; then -+ elif $strings -a $TMPO | grep -q LiTtLeEnDiAn ; then - bigendian="no" - else - echo big/little test failed diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.0.0-make.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.0.0-make.patch new file mode 100644 index 0000000000..2dac1ca11d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.0.0-make.patch @@ -0,0 +1,14 @@ +Allow MAKE='make V=1' and similar. + +https://bugs.gentoo.org/795678 +--- a/configure ++++ b/configure +@@ -1953,7 +1953,7 @@ if test -z "$python" + then + error_exit "Python not found. Use --python=/path/to/python" + fi +-if ! has "$make" ++if ! has $make + then + error_exit "GNU make ($make) not found" + fi diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-automagic-libbpf.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-automagic-libbpf.patch new file mode 100644 index 0000000000..d067650dc8 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-automagic-libbpf.patch @@ -0,0 +1,21 @@ +commit 080832e4f4801a28bd1170c49e61f6a0f5f05d03 +Author: Paolo Bonzini +Date: Tue Sep 7 12:45:12 2021 +0200 + + ebpf: only include in system emulators + + eBPF files are being included in user emulators, which is useless and + also breaks compilation because ebpf/trace-events is only processed + if a system emulator is included in the build. + + Resolves: https://gitlab.com/qemu-project/qemu/-/issues/566 + Signed-off-by: Paolo Bonzini + Signed-off-by: Jason Wang + +diff --git a/ebpf/meson.build b/ebpf/meson.build +index 9cd0635370..2dd0fd8948 100644 +--- a/ebpf/meson.build ++++ b/ebpf/meson.build +@@ -1 +1 @@ +-common_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c')) ++softmmu_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c')) diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-strings.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-strings.patch new file mode 100644 index 0000000000..2efe7b2933 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-strings.patch @@ -0,0 +1,26 @@ +Forward-ported from original patch for 5.2.0. + +diff --git a/configure b/configure +index da2501489f..4660ee3ee5 100755 +--- a/configure ++++ b/configure +@@ -516,6 +516,7 @@ ld="${LD-${cross_prefix}ld}" + ranlib="${RANLIB-${cross_prefix}ranlib}" + nm="${NM-${cross_prefix}nm}" + strip="${STRIP-${cross_prefix}strip}" ++strings="${STRINGS-${cross_prefix}strings}" + windres="${WINDRES-${cross_prefix}windres}" + pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}" + query_pkg_config() { +@@ -2380,9 +2381,9 @@ int main(int argc, char *argv[]) + EOF + + if compile_prog ; then +- if strings -a $TMPE | grep -q BiGeNdIaN ; then ++ if $strings -a $TMPE | grep -q BiGeNdIaN ; then + bigendian="yes" +- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then ++ elif $strings -a $TMPE | grep -q LiTtLeEnDiAn ; then + bigendian="no" + else + echo big/little test failed diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-9999-fix-firmware-path.patch b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-9999-fix-firmware-path.patch deleted file mode 100644 index ffff31402b..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-9999-fix-firmware-path.patch +++ /dev/null @@ -1,17 +0,0 @@ -Set absolute filename in files like - /usr/share/qemu/firmware/50-edk2-x86_64-secure.json - -Bug: https://bugs.gentoo.org/766743 -Bug: https://bugs.launchpad.net/qemu/+bug/1913012 -Patch-by: Jannik Glückert ---- a/pc-bios/descriptors/meson.build -+++ b/pc-bios/descriptors/meson.build -@@ -9,7 +9,7 @@ if install_edk2_blobs - ] - configure_file(input: files(f), - output: f, -- configuration: {'DATADIR': qemu_datadir}, -+ configuration: {'DATADIR': get_option('prefix') / qemu_datadir}, - install: get_option('install_blobs'), - install_dir: qemu_datadir / 'firmware') - endforeach diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml index ec3f45a063..094f223846 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/metadata.xml @@ -1,13 +1,13 @@ - + tamiko@gentoo.org Matthias Maier - slyfox@gentoo.org - Sergei Trofimovich + zlogene@gentoo.org + Mikle Kolyada virtualization@gentoo.org @@ -17,9 +17,11 @@ Adds support for braille displays using brltty Enables support for Linux's Async IO Enable alsa output for sound emulation + Enable eBPF support for RSS implementation. Enable disassembly support with dev-libs/capstone Support ISOs / -cdrom directives via HTTP or HTTPS. Enables firmware device tree support + Enables FUSE block device export Enables GlusterFS cluster fileystem via sys-cluster/glusterfs Enable TLS support for the VNC console server. @@ -39,7 +41,7 @@ When the blobs are different, random corruption/bugs/crashes/etc... may be observed. Enable qemu plugin API via shared library loading. Enable pulseaudio output for sound emulation - Enable rados block device backend support, see http://ceph.newdream.net/wiki/QEMU-RBD + Enable rados block device backend support, see https://docs.ceph.com/en/mimic/rbd/qemu-rbd/ Enable the SDL-based console SDL Image support for icons Enable TCP/IP in hypervisor via net-libs/libslirp @@ -54,10 +56,10 @@ Enable USB passthrough via dev-libs/libusb Use sys-apps/usbredir to redirect USB devices to another machine over TCP Enable VDE-based networking - Enable accelerated networking using vhost-net, see http://www.linux-kvm.org/page/VhostNet + Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet Enable shared file system access using the FUSE protocol carried over virtio. Enable experimental Virgil 3d (virtual software GPU) - Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup + Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup Enable terminal support (x11-libs/vte) in the GTK+ interface Add support for getting and setting POSIX extended attributes, through sys-apps/attr. Requisite for the virtfs backend. diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-5.2.0-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-6.1.0-r1.ebuild similarity index 91% rename from sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-5.2.0-r2.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-6.1.0-r1.ebuild index 9e806cfecb..aa69ee7209 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-5.2.0-r2.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/qemu-6.1.0-r1.ebuild @@ -3,13 +3,13 @@ EAPI="7" -PYTHON_COMPAT=( python{3_6,3_7} ) +PYTHON_COMPAT=( python3_{7,8,9,10} ) PYTHON_REQ_USE="ncurses,readline" -FIRMWARE_ABI_VERSION="4.0.0-r50" +FIRMWARE_ABI_VERSION="6.1.0" -inherit eutils linux-info toolchain-funcs multilib python-r1 \ - udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils +inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ + pax-utils xdg-utils if [[ ${PV} = *9999* ]]; then EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" @@ -23,17 +23,17 @@ if [[ ${PV} = *9999* ]]; then SRC_URI="" else SRC_URI="https://download.qemu.org/${P}.tar.xz" - KEYWORDS="amd64 arm64 ~ppc ~ppc64 x86" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" fi DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" +HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" LICENSE="GPL-2 LGPL-2 BSD-2" SLOT="0" -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc - +fdt glusterfs gnutls gtk infiniband iscsi io-uring +IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug +doc + +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring jack jemalloc +jpeg kernel_linux kernel_FreeBSD lzo multipath ncurses nfs nls numa opengl +oss +pin-upstream-blobs @@ -43,14 +43,52 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen xfs zstd" -COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x - sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - avr lm32 moxie rx tricore unicore32" -IUSE_USER_TARGETS="${COMMON_TARGETS} - aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus - tilegx" +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + m68k + microblaze + microblazeel + mips + mips64 + mips64el + mipsel + nios2 + or1k + ppc + ppc64 + riscv32 + riscv64 + s390x + sh4 + sh4eb + sparc + sparc64 + x86_64 + xtensa + xtensaeb +" +IUSE_SOFTMMU_TARGETS=" + ${COMMON_TARGETS} + avr + rx + tricore +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64abi32 + ppc64le + sparc32plus +" use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) @@ -67,9 +105,11 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} qemu_softmmu_targets_ppc? ( fdt ) qemu_softmmu_targets_riscv32? ( fdt ) qemu_softmmu_targets_riscv64? ( fdt ) - static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) + sdl-image? ( sdl ) + static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev ) static-user? ( !plugins ) vhost-user-fs? ( caps seccomp ) + virgl? ( opengl ) virtfs? ( caps xattr ) vte? ( gtk ) multipath? ( udev ) @@ -102,11 +142,13 @@ SOFTMMU_TOOLS_DEPEND=" ) aio? ( dev-libs/libaio[static-libs(+)] ) alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bpf? ( dev-libs/libbpf:= ) bzip2? ( app-arch/bzip2[static-libs(+)] ) capstone? ( dev-libs/capstone:= ) caps? ( sys-libs/libcap-ng[static-libs(+)] ) curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) gnutls? ( dev-libs/nettle:=[static-libs(+)] @@ -128,14 +170,17 @@ SOFTMMU_TOOLS_DEPEND=" jpeg? ( virtual/jpeg:0=[static-libs(+)] ) lzo? ( dev-libs/lzo:2[static-libs(+)] ) multipath? ( sys-fs/multipath-tools ) - ncurses? ( sys-libs/ncurses:=[unicode(+),static-libs(+)] ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[static-libs(+)] + ) nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) numa? ( sys-process/numactl[static-libs(+)] ) opengl? ( virtual/opengl media-libs/libepoxy[static-libs(+)] media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] + media-libs/mesa[egl(+),gbm(+)] ) png? ( media-libs/libpng:0=[static-libs(+)] ) pulseaudio? ( media-sound/pulseaudio ) @@ -155,7 +200,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(+)] ) + udev? ( virtual/libudev:= ) usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) vde? ( net-misc/vde[static-libs(+)] ) @@ -166,25 +211,28 @@ SOFTMMU_TOOLS_DEPEND=" zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) " +EDK2_OVMF_VERSION="202105" +SEABIOS_VERSION="1.14.0" + X86_FIRMWARE_DEPEND=" pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-201905[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] + ~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary] + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre10[binary] ) !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} sys-firmware/ipxe[qemu] - >=sys-firmware/seabios-1.10.2[seavgabios] + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] sys-firmware/sgabios )" PPC_FIRMWARE_DEPEND=" pin-upstream-blobs? ( - ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] ) !pin-upstream-blobs? ( - >=sys-firmware/seabios-1.10.2[seavgabios] + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] ) " @@ -193,7 +241,10 @@ BDEPEND=" dev-lang/perl sys-apps/texinfo virtual/pkgconfig - doc? ( dev-python/sphinx ) + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + ) gtk? ( nls? ( sys-devel/gettext ) ) test? ( dev-libs/glib[utils] @@ -223,11 +274,10 @@ RDEPEND="${CDEPEND} PATCHES=( "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch - "${FILESDIR}"/${PN}-5.2.0-strings.patch - "${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch - "${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch + "${FILESDIR}"/${PN}-6.0.0-make.patch + "${FILESDIR}"/${PN}-6.1.0-strings.patch + "${FILESDIR}"/${P}-automagic-libbpf.patch ) QA_PREBUILT=" @@ -340,7 +390,7 @@ check_targets() { local var=$1 mak=$2 local detected sorted - pushd "${S}"/default-configs/targets/ >/dev/null || die + pushd "${S}"/configs/targets/ >/dev/null || die # Force C locale until glibc is updated. #564936 detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) @@ -453,11 +503,13 @@ qemu_src_configure() { conf_opts+=( $(conf_notuser accessibility brlapi) $(conf_notuser aio linux-aio) + $(conf_softmmu bpf) $(conf_notuser bzip2) $(conf_notuser capstone) $(conf_notuser caps cap-ng) $(conf_notuser curl) $(conf_notuser fdt) + $(conf_notuser fuse) $(conf_notuser glusterfs) $(conf_notuser gnutls) $(conf_notuser gnutls nettle) @@ -493,7 +545,7 @@ qemu_src_configure() { $(conf_notuser vhost-user-fs) $(conf_tools vhost-user-fs virtiofsd) $(conf_notuser virgl virglrenderer) - $(conf_notuser virtfs) + $(conf_softmmu virtfs) $(conf_notuser vnc) $(conf_notuser vte) $(conf_notuser xen) @@ -570,6 +622,9 @@ qemu_src_configure() { tc-enables-pie && conf_opts+=( --enable-pie ) fi + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) + # Plumb through equivalent of EXTRA_ECONF to allow experiments # like bug #747928. conf_opts+=( ${EXTRA_CONF_QEMU} ) @@ -720,7 +775,7 @@ src_install() { [[ -e check-report.html ]] && dodoc check-report.html if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules fi if use python; then @@ -798,7 +853,7 @@ src_install() { firmware_abi_change() { local pv for pv in ${REPLACING_VERSIONS}; do - if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then + if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then return 0 fi done