# Template file for 'qemu' # This package should be updated together with qemu-user-static pkgname=qemu version=6.0.0 revision=2 build_style=configure hostmakedepends="gettext pkg-config perl python3 automake libtool flex python3-Sphinx texinfo ninja" makedepends="libpng-devel libjpeg-turbo-devel pixman-devel snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel libsasl-devel libglib-devel ncurses-devel libseccomp-devel nss-devel libcurl-devel xfsprogs-devel libcap-ng-devel libcap-devel vde2-devel usbredir-devel libbluetooth-devel libssh2-devel libusb-devel pulseaudio-devel libnfs-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel') $(vopt_if gtk3 "gtk+3-devel vte3-devel") $(vopt_if spice spice-devel) $(vopt_if virgl virglrenderer-devel) $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel') $(vopt_if iscsi 'libiscsi-devel') $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel') $(vopt_if spice 'pcsclite-devel')" short_desc="Open Source Processor Emulator" maintainer="Helmut Pozimski " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://www.qemu.org" distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2" checksum=7d306a03c67c0b667d21b55e1b172f5e55a9af5ee09cbd739fb2395aeca7860c ignore_elf_dirs="/usr/share/qemu" nostrip_files="hppa-firmware.img openbios-ppc openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img s390-netboot.img u-boot.e500 opensbi-riscv32-generic-fw_dynamic.elf opensbi-riscv64-generic-fw_dynamic.elf" # FIXME make_check=extended build_options="gtk3 opengl sdl2 spice virgl smartcard numa iscsi" build_options_default="opengl gtk3 virgl sdl2 numa iscsi" desc_option_sdl2="Enable SDL (2.x) video output" desc_option_spice="Enable support for SPICE" desc_option_virgl="Enable support for VirGL (A Virtual 3D GPU renderer)" desc_option_smartcard="Enable smartcard support" desc_option_numa="Enable support for host NUMA" desc_option_iscsi="Enable support for iSCSI" case "$XBPS_TARGET_MACHINE" in i686*|x86_64*|ppc64le*) build_options_default+=" spice";; aarch64-musl) CFLAGS="-D_LINUX_SYSINFO_H";; esac if [ -z "$CROSS_BUILD" ]; then build_options_default+=" smartcard" fi pre_configure() { vsed -i 's/__u64/unsigned long/' linux-user/host/aarch64/hostdep.h } do_configure() { local args= if [ "$CROSS_BUILD" ]; then args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-" export LIBTOOL=libtool fi unset CPP local want_sdl="--disable-sdl" local audio_sdl="" if [ "$build_option_sdl2" ]; then want_sdl="--enable-sdl" audio_sdl=",sdl" fi ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec \ --enable-kvm --audio-drv-list=alsa,pa${audio_sdl} \ --disable-xen --enable-tpm \ --enable-vhost-net --enable-vnc-png --enable-virtfs \ --enable-libusb --disable-glusterfs --enable-snappy --enable-usb-redir \ --enable-pie --localstatedir=/var --enable-docs \ $(vopt_enable virgl virglrenderer) $(vopt_enable opengl) $(vopt_enable spice) \ ${want_sdl} \ $(vopt_enable smartcard) \ $(vopt_if gtk3 "--enable-gtk") ${args} } do_install() { make DESTDIR=${DESTDIR} install # qemu-bridge-helper must be setuid for non privileged users. chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper vsv qemu-ga } qemu-ga_package() { short_desc="QEMU Guest Agent" pkg_install() { vmove usr/bin/qemu-ga vmove etc/sv/qemu-ga } }