diff --git a/extra/qemu/PKGBUILD b/extra/qemu/PKGBUILD index cc3b5b8d7..25d074091 100644 --- a/extra/qemu/PKGBUILD +++ b/extra/qemu/PKGBUILD @@ -10,7 +10,7 @@ pkgbase=qemu pkgname=( qemu-common - qemu-audio-{alsa,dbus,jack,oss,pa,sdl,spice} + qemu-audio-{alsa,dbus,jack,oss,pa,pipewire,sdl,spice} qemu-block-{curl,dmg,gluster,iscsi,nfs,ssh} qemu-chardev-{baum,spice} qemu-docs @@ -29,12 +29,28 @@ pkgname=( qemu-vhost-user-gpu qemu-{base,desktop,emulators-full,full} ) -pkgver=8.0.4 +pkgver=8.1.0 pkgrel=2 pkgdesc="A generic and open source machine emulator and virtualizer" arch=(x86_64) url="https://www.qemu.org/" -license=(GPL2 LGPL2.1) +license=( + Apache-2.0 + BSD-2-Clause + BSD-3-Clause + FSFAP + GPL-1.0-or-later + GPL-2.0-only + GPL-2.0-or-later + 'GPL-2.0-or-later with GCC-exception-2.0 exception' + LGPL-2.0-only + LGPL-2.0-or-later + LGPL-2.1-only + LGPL-2.1-or-later + MIT + public-domain + CC-BY-3.0 +) # TODO: consider providing rdma-core # TODO: consider providing lzfse # TODO: package systemtap @@ -57,6 +73,7 @@ makedepends=( gnutls gtk3 jack + keyutils libaio libbpf libcacard @@ -64,6 +81,7 @@ makedepends=( libepoxy libiscsi libnfs + libpipewire libpng libpulse libsasl @@ -85,6 +103,9 @@ makedepends=( pam pcre2 python + python-distlib + python-setuptools + python-pip python-sphinx python-sphinx_rtd_theme sdl2 @@ -107,21 +128,24 @@ source=( qemu-sysusers.conf 65-kvm.rules 99-qemu-guest-agent.rules + $pkgbase-8.1.0-keyutils.patch ) -sha512sums=('bd5ed682d51f974abd4be93f949701f9b5bfb87fd9929e31df130534da2f2c03b99adc9f924b3efd47d3b254e0e3c0046f4e69fbe9f6d0c4ac1f6babecb29449' +sha512sums=('c5f5e7ce2d8e3c93a02012b136c866e8577df07da4705a0045916c71caeaa21fa1b2d59a4b22a660789a4159b192e12a443e7cbb0724ee85fea258251731724c' 'SKIP' '7b412ffa5dcda47b0a4ec9e2c5e5e1d9eaaaf0a087b7ea3ead3e706ba4c9cafb919beadd088a0299b6f7aab753b81a5eafb545b4842ee5f26646d16544dd02a7' '6e838773d63ae0ffdffe2b891bf611d8f5f3c67a9bc4cbbedf8363c150c2c9971c8e44d92270bc581af40eb0ece02192760bcdd6aee229fff55635f3a4825afa' '985c2c7a6b5217c87a15b45368089ee91b2f9027b070f9eafa448a18b27ae0d9edd964d52e134b9c1f4aeef4d6aae88afd3f454551ca898affef7f9d28b99b8f' 'bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99' - '93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839') -b2sums=('dfb98964c629b251f0004b4630ae4500a52465579417d6f5c7dbbb1f672e10d8d7ffb98a4b00e26fb98b3c867208146dbdca026e4d30cbf1752ac733c4d9b915' + '93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839' + '400cca1177bd72ac1dfe646a2197754a1829116ade02cb4b0dea817f62a62ff3324675f772cdacd58ae74cff6147bf04a249dabb9729df6678500d47f7e728a8') +b2sums=('b0fd87a19b13d4bbc6526caa46533073cb4dee6004df5d4fbbef204ee3bc8c2f10ec1eaff554adbb25c9f3143dd68abd09d4a0519c4766299a3ff261d03c73f2' 'SKIP' 'b1eca364aa60f130ff5e649f5d004d3fcb75356d3421a4542efdfc410d39b40d9434d15e1dd7bbdbd315cb72b5290d3ea5f77f9c41961a5601cd28ef7bbe72e8' '2102e4a34e11e406e9606c97e026e7b92e887e296a7f77b9cede1b37119d0df33735f3588628167b2b8e32244c196c491bfab623e2caddac9014d445aa2a6d98' '69177b962d2fda20cafdbc6226fd017b5ca5a0f69f866d055dc1c744b7b2955059f47c693cfb5b4c863ec159569fdabd4327ab4b8a95566a68cd8ce38e339c7a' '3559fe9c4f744194939770047a0a02d07ff791c845a80726d0bc7b8c4801ed5f11150e7d5adab813844b3dab1cf38c3a5a87fb6efbb8fc9dccdda9fa56409ed8' - 'a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7') + 'a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7' + '3608b43b4751554a7f1ff74ecdb161625bb565b083b471df4e13be0f98b556992f4c707760610b87d02cb5bd11cec5b59a3b4c59024c4a791acfb80f720c2c0e') validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584') # Michael Roth _qemu_system_deps=( @@ -200,6 +224,7 @@ _qemu_base_optdepends=( 'qemu-audio-jack: for JACK audio driver' 'qemu-audio-oss: for OSS audio driver' 'qemu-audio-pa: for PulseAudio audio driver' + 'qemu-audio-pipewire: for PipeWire audio driver' 'qemu-audio-sdl: for SDL audio driver' 'qemu-audio-spice: for spice audio driver' 'qemu-block-curl: for curl block driver' @@ -208,9 +233,9 @@ _qemu_base_optdepends=( 'qemu-block-ssh: for SSH block driver' 'qemu-chardev-spice: for the spice chardev driver' 'qemu-desktop: for dependencies commonly used on a desktop' + 'qemu-hw-display-qxl: for the QXL display device' 'qemu-hw-display-virtio-vga: for the virtio-vga display device' 'qemu-hw-display-virtio-vga-gl: for the virtio-vga-gl display device' - 'qemu-hw-display-qxl: for the QXL display device' 'qemu-hw-display-virtio-gpu: for the virtio-gpu display device' 'qemu-hw-display-virtio-gpu-gl: for the virtio-gpu-gl display device' 'qemu-hw-display-virtio-gpu-pci: for the virtio-gpu-pci display device' @@ -234,14 +259,17 @@ _pick() { local p="$1" f d; shift for f; do d="$srcdir/$p/${f#$pkgdir/}" - mkdir -p "$(dirname "$d")" - mv "$f" "$d" - rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + mkdir -vp "$(dirname "$d")" + mv -v "$f" "$d" + rmdir -vp --ignore-fail-on-non-empty "$(dirname "$f")" done } prepare() { + # fix detection of keyutils: https://gitlab.com/qemu-project/qemu/-/issues/1842 + patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-8.1.0-keyutils.patch + # extract licenses for TCG sed -n '1,23p' $pkgbase-$pkgver/tcg/tcg-internal.h > tcg.LICENSE.MIT sed -n '1,23p' $pkgbase-$pkgver/tcg/arm/tcg-target.c.inc > tcg-arm.LICENSE.MIT @@ -289,7 +317,6 @@ package_qemu-common() { --preserve-argv0 yes ) - license+=(BSD MIT) depends=(gcc-libs glibc glib2 libglib-2.0.so libgmodule-2.0.so hicolor-icon-theme libcap-ng libcap-ng.so numactl libnuma.so) backup=( etc/$pkgbase/bridge.conf @@ -341,6 +368,7 @@ package_qemu-common() { _pick qemu-audio-jack usr/lib/qemu/audio-jack.so _pick qemu-audio-oss usr/lib/qemu/audio-oss.so _pick qemu-audio-pa usr/lib/qemu/audio-pa.so + _pick qemu-audio-pipewire usr/lib/qemu/audio-pipewire.so _pick qemu-audio-sdl usr/lib/qemu/audio-sdl.so _pick qemu-audio-spice usr/lib/qemu/audio-spice.so @@ -507,7 +535,7 @@ package_qemu-audio-dbus() { package_qemu-audio-jack() { pkgdesc="QEMU JACK audio driver" - depends=(jack libjack.so glibc qemu-common=$pkgver-$pkgrel) + depends=(glibc jack libjack.so qemu-common=$pkgver-$pkgrel) mv -v $pkgname/* "$pkgdir" } @@ -523,6 +551,12 @@ package_qemu-audio-pa() { mv -v $pkgname/* "$pkgdir" } +package_qemu-audio-pipewire() { + pkgdesc="QEMU PipeWire audio driver" + depends=(gcc-libs glibc libpipewire libpipewire-0.3.so qemu-common=$pkgver-$pkgrel) + mv -v $pkgname/* "$pkgdir" +} + package_qemu-audio-sdl() { pkgdesc="QEMU SDL audio driver" depends=(glibc qemu-common=$pkgver-$pkgrel sdl2) @@ -579,7 +613,7 @@ package_qemu-chardev-baum() { package_qemu-chardev-spice() { pkgdesc="QEMU spice chardev driver" - depends=(libspice-server.so glibc qemu-common=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel) + depends=(glibc qemu-common=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel spice libspice-server.so) mv -v $pkgname/* "$pkgdir" } @@ -781,7 +815,7 @@ package_qemu-system-rx() { package_qemu-system-s390x() { pkgdesc="QEMU system emulator for S390" - depends=("${_qemu_system_deps[@]}" qemu-system-s390x-firmware=$pkgver-$pkgrel) + depends=("${_qemu_system_deps[@]}" qemu-system-s390x-firmware=$pkgver-$pkgrel systemd-libs libudev.so) mv -v $pkgname/* "$pkgdir" } @@ -986,7 +1020,7 @@ package_qemu-desktop() { pkgdesc="A QEMU setup for desktop environments" depends=( qemu-base=$pkgver-$pkgrel - qemu-audio-{alsa,dbus,jack,oss,pa,sdl,spice}=$pkgver-$pkgrel + qemu-audio-{alsa,dbus,jack,oss,pa,pipewire,sdl,spice}=$pkgver-$pkgrel qemu-block-{curl,dmg,nfs,ssh}=$pkgver-$pkgrel qemu-chardev-spice=$pkgver-$pkgrel qemu-hw-display-{qxl,virtio-gpu{,-{gl,pci,pci-gl}}}=$pkgver-$pkgrel diff --git a/extra/qemu/qemu-8.1.0-keyutils.patch b/extra/qemu/qemu-8.1.0-keyutils.patch new file mode 100644 index 000000000..6bd4be241 --- /dev/null +++ b/extra/qemu/qemu-8.1.0-keyutils.patch @@ -0,0 +1,11 @@ +diff --git a/meson.build b/meson.build +--- a/meson.build ++++ b/meson.build +@@ -1771,7 +1771,7 @@ if gnutls.found() + method: 'pkg-config') + endif + keyutils = not_found +-if get_option('keyring').enabled() ++if not get_option('keyring').disabled() + keyutils = dependency('libkeyutils', required: false, method: 'pkg-config') + endif