pkgname: qemu pkgver: '11.1.0' pkgrel: '1' pkgdesc: 'Processor emulator using dynamic translation to achieve good emulation speed' url: 'https://www.qemu.org' arch: x86_64 depends: - 'desktop-file-utils' - ovmf makedepends: - meson - ninja - pkg-config - flex - bison - dtc - gtk3 - sdl2 - libseccomp - 'libcap-ng' - 'xorg-pixman' - python - mesa - vte - virglrenderer - lzo - nettle - 'cyrus-sasl' - libssh2 - pulseaudio - 'alsa-lib' - 'alsa-plugins' - 'alsa-utils' - check - bluez - libgcrypt - gnutls - libusb - usbutils - 'python-sphinx' - usbredir - 'bridge-utils' - 'xorg-libdrm' - spice - 'spice-protocol' - libaio - libslirp source: - 'qemu-ga.conf' - '99-qemu-guest-agent.rules' - 'qemu-sysusers.conf' - configvm - startvm - 'https://download.qemu.org/qemu-${pkgver}.tar.xz' sha256sums: - SKIP - SKIP - SKIP - SKIP - SKIP - SKIP hooks: 'post-install': | if [ -d /run/systemd/system ]; then systemctl daemon-reload || true systemctl enable qemu-guest-agent || true fi echo "QEMU guest agent service is available as qemu-guest-agent.service" build: | bsdtar -xf qemu-${pkgver}.tar.xz -C . cd qemu-${pkgver} mkdir -vp build cd build ../configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/libexec \ --enable-modules \ --audio-drv-list=alsa,pa \ --enable-opengl \ --enable-virglrenderer \ --enable-spice \ --enable-slirp \ --enable-kvm \ --docdir=/usr/share/doc/${pkgname} make package: | cd qemu-${pkgver}/build make DESTDIR="${PKGDIR}" install # Instalacja własnych skryptów pomocniczych z root katalogu źródeł for i in configvm startvm; do install -D -m 755 "../../${i}" "${PKGDIR}/usr/bin/${i}" done # Symlink dla domyślnego pliku wykonywalnego ln -svf qemu-system-x86_64 "${PKGDIR}/usr/bin/qemu" # Pliki konfiguracyjne i reguły udev install -vDm 644 ../../99-qemu-guest-agent.rules "${PKGDIR}/usr/lib/udev/rules.d/99-qemu-guest-agent.rules" install -vDm 644 ../../qemu-sysusers.conf "${PKGDIR}/usr/lib/sysusers.d/qemu.conf" install -vDm 644 ../../qemu-ga.conf "${PKGDIR}/etc/qemu/qemu-ga.conf" # Konfiguracja udev dla KVM install -d "${PKGDIR}/usr/lib/udev/rules.d" cat > "${PKGDIR}/usr/lib/udev/rules.d/65-kvm.rules" << "EOF" KERNEL=="kvm", GROUP="kvm", MODE="0660" EOF # Pomoce i usługi guest-agenta if [ -f ../scripts/qemu-guest-agent/fsfreeze-hook ]; then install -vDm 755 ../scripts/qemu-guest-agent/fsfreeze-hook -t "${PKGDIR}/etc/qemu/" fi if [ -f ../contrib/systemd/qemu-guest-agent.service ]; then install -vDm 644 ../contrib/systemd/qemu-guest-agent.service -t "${PKGDIR}/usr/lib/systemd/system/" sed -i '/\[Install\]/a WantedBy=multi-user.target' "${PKGDIR}/usr/lib/systemd/system/qemu-guest-agent.service" fi # Uprawnienia dla qemu-bridge-helper (bez twardego chgrp na hoście) if [ -f "${PKGDIR}/usr/libexec/qemu-bridge-helper" ]; then chmod 4750 "${PKGDIR}/usr/libexec/qemu-bridge-helper" fi