102 lines
3.3 KiB
Bash
102 lines
3.3 KiB
Bash
# Template file for 'qemu'
|
|
pkgname=qemu
|
|
version=4.0.0
|
|
revision=4
|
|
short_desc="Open Source Processor Emulator"
|
|
maintainer="Juan RP <xtraeme@voidlinux.org>"
|
|
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=6d7f713f7400c8a636c770118957b13d6a7f72b0d2da4a925d10455d8e33af20
|
|
nocross=https://api.travis-ci.org/jobs/210268003/log.txt
|
|
|
|
nostrip=yes
|
|
hostmakedepends="pkg-config perl python3 automake libtool flex python3-Sphinx"
|
|
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
|
|
$(vopt_if sdl2 SDL2-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 smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')"
|
|
|
|
build_options="gtk3 opengl sdl2 spice virgl smartcard numa"
|
|
build_options_default="opengl gtk3 virgl smartcard sdl2 numa"
|
|
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"
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*|ppc64*) build_options_default+=" spice";;
|
|
aarch64-musl) CFLAGS+=" -D_LINUX_SYSINFO_H";;
|
|
esac
|
|
|
|
post_extract() {
|
|
sed -i 's/__u64/unsigned long/' linux-user/host/aarch64/hostdep.h
|
|
}
|
|
|
|
do_configure() {
|
|
local args=
|
|
|
|
sed -e 's,-rpath /usr/local/lib,,g' -i configure
|
|
|
|
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 --datadir=/usr/lib \
|
|
$(vopt_enable virgl virglrenderer) $(vopt_enable opengl) $(vopt_enable spice) \
|
|
${want_sdl} \
|
|
$(vopt_enable smartcard) \
|
|
$(vopt_if gtk3 "--enable-gtk") ${args}
|
|
}
|
|
do_build() {
|
|
# Remove our strip(1) wrapper... E2BIG.
|
|
rm -f ${XBPS_WRAPPERDIR}/strip
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
# XXX libtool execs cc and ar.
|
|
mkdir -p ${wrksrc}/cross
|
|
ln -sf /usr/bin/${XBPS_CROSS_TRIPLET}-gcc ${wrksrc}/cross/cc
|
|
ln -sf /usr/bin/${XBPS_CROSS_TRIPLET}-ar ${wrksrc}/cross/ar
|
|
export PATH=${wrksrc}/cross:$PATH
|
|
fi
|
|
make ${makejobs}
|
|
}
|
|
do_install() {
|
|
# Remove our strip(1) wrapper... E2BIG.
|
|
rm -f ${XBPS_WRAPPERDIR}/strip
|
|
|
|
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
|
|
}
|
|
}
|