summaryrefslogtreecommitdiffstats
path: root/core/modules/qemu-src/module.build
diff options
context:
space:
mode:
authorManuel Bentele2021-09-30 14:01:50 +0200
committerManuel Bentele2021-10-12 13:12:55 +0200
commit89fa7e5a9c9b24dcaafa2a3affde56f26945030e (patch)
tree404d9b5ead2145fb3d1986ce43588d8bd8a47a65 /core/modules/qemu-src/module.build
parent[libvirt-src] Add module for libvirt source build (diff)
downloadmltk-89fa7e5a9c9b24dcaafa2a3affde56f26945030e.tar.gz
mltk-89fa7e5a9c9b24dcaafa2a3affde56f26945030e.tar.xz
mltk-89fa7e5a9c9b24dcaafa2a3affde56f26945030e.zip
[qemu-src] Add module for QEMU source build
Diffstat (limited to 'core/modules/qemu-src/module.build')
-rw-r--r--core/modules/qemu-src/module.build61
1 files changed, 61 insertions, 0 deletions
diff --git a/core/modules/qemu-src/module.build b/core/modules/qemu-src/module.build
new file mode 100644
index 00000000..5f3fce34
--- /dev/null
+++ b/core/modules/qemu-src/module.build
@@ -0,0 +1,61 @@
+#!/bin/bash
+fetch_source() {
+ autoclone
+ git -C "${MODULE_WORK_DIR}/src/qemu" submodule update --init || perror "Failed to init and update submodules!"
+
+ # 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!"
+
+ 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}"
+
+ # install meson (>= 0.54.0) since packaged version is too old
+ pip3 install "meson>=0.54.0"
+
+ ./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 \
+ --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
+ rm -rf "${DSTDIR}/var/run"
+}
+
+post_copy() {
+ :
+}