summaryrefslogtreecommitdiffstats
path: root/core/modules/qemu-src/module.build
blob: 69736c0fdc8a7b823eea07fc371bd504653f37aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
fetch_source() {
	autoclone
	git -C "${MODULE_WORK_DIR}/src/qemu" submodule update --init \
		|| perror "Failed to init and update submodules!"

	local ver="$( cat "${MODULE_WORK_DIR}/src/qemu/VERSION" )"
	ver="${ver%%.*}"
	if (( ver == 6 )); then
		# patch EDK2 version to retrieve EDK2 submodules
		git -C "${MODULE_WORK_DIR}/src/qemu/roms/edk2" checkout edk2-stable202108 \
			|| perror "Failed to checkout new EDK2 version!"
		git -C "${MODULE_WORK_DIR}/src/qemu" commit -a -m "Update EDK2 to 08.2021 release" \
			|| perror "Failed to update EDK2 version!"
	fi

	git -C "${MODULE_WORK_DIR}/src/qemu" submodule update --recursive \
		|| perror "Failed to update submodules recursivly!"
}

build() {
	local SRCDIR="${MODULE_WORK_DIR}/src/qemu"
	local DSTDIR="${MODULE_BUILD_DIR}"
	cde "${SRCDIR}"

	./configure \
		--prefix="/usr" \
		--sysconfdir="/etc" \
		--libexecdir="/usr/libexec" \
		--localstatedir="/var" \
		--target-list=x86_64-softmmu \
		--enable-kvm \
		--disable-xen \
		--enable-gnutls \
		--enable-gtk \
		--enable-vnc \
		--enable-spice \
		--enable-libusb \
		--enable-usb-redir \
		--enable-lzo \
		--enable-zstd \
		--enable-linux-aio \
		--enable-opengl \
		--enable-virglrenderer \
		--enable-vhost-net \
		--enable-vhost-user \
		--enable-libudev \
		--enable-brlapi \
		--enable-tpm \
		--disable-werror \
		--audio-drv-list="pa,alsa" \
		--enable-modules || perror "'configure' failed."
	make || perror "'make' failed."
	DESTDIR="${DSTDIR}" make install || perror "'make install' failed."

	# change permissions for the bridge helper
	chmod u+s "${DSTDIR}/usr/libexec/qemu-bridge-helper"

	# change permission of setup script
	chmod +x "${DSTDIR}/usr/share/qemu/init/qemu-kvm-init"

	# delete empty run folder to prevent mltk from stopping
	if [ -d "${DSTDIR}/var/run" ] && ! [ -L "${DSTDIR}/var/run" ]; then
		rmdir "${DSTDIR}/var/run" || perror "${DSTDIR}/var/run exists and is not empty"
	fi
}

post_copy() {
	:
}