Skip to content
Snippets Groups Projects
PKGBUILD 36.6 KiB
Newer Older
nfg's avatar
nfg committed
  pkgdesc="QEMU OpenGL UI driver"
  depends=(glibc libepoxy mesa pixman libpixman-1.so qemu-common=$pkgver-$pkgrel)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-ui-sdl() {
  pkgdesc="QEMU SDL UI driver"
  depends=(glib2 libglib-2.0.so glibc libx11 pixman libpixman-1.so qemu-common=$pkgver-$pkgrel sdl2_image sdl2)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-ui-spice-app() {
  pkgdesc="QEMU spice app UI driver"
  depends=(glib2 libgio-2.0.so libglib-2.0.so glibc qemu-common=$pkgver-$pkgrel qemu-chardev-spice=$pkgver-$pkgrel qemu-ui-spice-core=$pkgver-$pkgrel)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-ui-spice-core() {
  pkgdesc="QEMU spice core UI driver"
  depends=(gcc-libs glibc pixman libpixman-1.so qemu-common=$pkgver-$pkgrel qemu-ui-opengl=$pkgver-$pkgrel spice libspice-server.so)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-user() {
  pkgdesc="QEMU user mode emulation"
  depends=(capstone gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls liburing liburing.so numactl libnuma.so qemu-common=$pkgver-$pkgrel zlib)
  optdepends=('qemu-user-binfmt: for binary format rules')
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-user-binfmt() {
  pkgdesc="Binary format rules for QEMU user mode emulation"
  depends=(qemu-user=$pkgver-$pkgrel)
  provides=(qemu-user-binfmt-provider)
  conflicts=(qemu-user-binfmt-provider)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-user-static() {
  pkgdesc="QEMU static user mode emulation"
  depends=(glibc)
  optdepends=('qemu-user-static-binfmt: for binary format rules')
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-vhost-user-gpu() {
  pkgdesc="QEMU vhost-user-gpu display device"
  depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc pixman libepoxy libpixman-1.so mesa numactl libnuma.so qemu-common=$pkgver-$pkgrel virglrenderer)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-user-static-binfmt() {
  pkgdesc="Binary format rules for QEMU static user mode emulation"
  depends=(qemu-user-static=$pkgver-$pkgrel)
  provides=(qemu-user-binfmt-provider)
  conflicts=(qemu-user-binfmt-provider)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-virtiofsd() {
  pkgdesc="QEMU virtio-fs shared filesystem daemon"
  depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libcap-ng libcap-ng.so libseccomp libseccomp.so numactl libnuma.so qemu-common=$pkgver-$pkgrel)
  provides=(virtiofsd-provider)
  mv -v $pkgname/* "$pkgdir"
}

package_qemu-base() {
  pkgdesc="A basic QEMU setup for headless environments"
  depends=(
    qemu-common=$pkgver-$pkgrel
    qemu-audio-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
    qemu-hw-display-virtio-vga{,-gl}=$pkgver-$pkgrel
    qemu-hw-s390x-virtio-gpu-ccw=$pkgver-$pkgrel
    qemu-hw-usb-{host,redirect,smartcard}=$pkgver-$pkgrel
    qemu-img=$pkgver-$pkgrel
    qemu-pr-helper=$pkgver-$pkgrel
    qemu-system-x86=$pkgver-$pkgrel
    qemu-tools=$pkgver-$pkgrel
    qemu-ui-{curses,spice-{app,core}}=$pkgver-$pkgrel
    virtiofsd-provider
  )
  optdepends=("${_qemu_optdepends[@]}")
  # TODO: remove conflicts/provides/replaces for qemu-headless after 2022-10-01
  conflicts=(qemu qemu-headless)
  provides=(qemu=$pkgver qemu-headless)
  replaces=(qemu-headless)
}

package_qemu-desktop() {
  pkgdesc="A QEMU setup for desktop environments"
  depends=(
    qemu-common=$pkgver-$pkgrel
    qemu-audio-{alsa,dbus,jack,oss,pa,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
    qemu-hw-display-virtio-vga{,-gl}=$pkgver-$pkgrel
    qemu-hw-s390x-virtio-gpu-ccw=$pkgver-$pkgrel
    qemu-hw-usb-{host,redirect,smartcard}=$pkgver-$pkgrel
    qemu-img=$pkgver-$pkgrel
    qemu-pr-helper=$pkgver-$pkgrel
    qemu-system-x86=$pkgver-$pkgrel
    qemu-tools=$pkgver-$pkgrel
    qemu-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}=$pkgver-$pkgrel
    qemu-vhost-user-gpu=$pkgver-$pkgrel
    virtiofsd-provider
  )
  optdepends=("${_qemu_optdepends[@]}")
  conflicts=(qemu)
  provides=(qemu=$pkgver)
  replaces=('qemu<7')
}

package_qemu-emulators-full() {
  pkgdesc="All QEMU user mode and system emulators"
  depends=(
    qemu-system-{aarch64,alpha,arm,avr,cris,hppa,loongarch64,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}=$pkgver-$pkgrel
    qemu-user=$pkgver-$pkgrel
  )
  # TODO: remove conflicts/provides/replaces after 2022-10-01
  conflicts=(qemu-arch-extra qemu-headless-arch-extra)
  provides=(qemu-arch-extra qemu-headless-arch-extra)
  replaces=(qemu-arch-extra qemu-headless-arch-extra)
}

package_qemu-full() {
  pkgdesc="A full QEMU setup"
  depends=(
    qemu-common=$pkgver-$pkgrel
    qemu-audio-{alsa,dbus,jack,oss,pa,sdl,spice}=$pkgver-$pkgrel
    qemu-block-{curl,dmg,gluster,iscsi,nfs,ssh}=$pkgver-$pkgrel
    qemu-chardev-{baum,spice}=$pkgver-$pkgrel
    qemu-docs=$pkgver-$pkgrel
    qemu-hw-display-{qxl,virtio-{gpu{,-{gl,pci,pci-gl}},vga{,-gl}}}=$pkgver-$pkgrel
    qemu-hw-s390x-virtio-gpu-ccw=$pkgver-$pkgrel
    qemu-hw-usb-{host,redirect,smartcard}=$pkgver-$pkgrel
    qemu-img=$pkgver-$pkgrel
    qemu-pr-helper=$pkgver-$pkgrel
    qemu-system-{aarch64,alpha,arm,avr,cris,hppa,loongarch64,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}=$pkgver-$pkgrel
    qemu-tests=$pkgver-$pkgrel
    qemu-tools=$pkgver-$pkgrel
    qemu-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}=$pkgver-$pkgrel
    qemu-user=$pkgver-$pkgrel
    qemu-vhost-user-gpu=$pkgver-$pkgrel
    virtiofsd-provider
  )
  optdepends=("${_qemu_optdepends[@]}")
  conflicts=(qemu)
  provides=(qemu=$pkgver)
}
#--------------------
# ARCH LICENSE AUTH ]

arch=(x86_64)
license=(GPL2 LGPL2.1)

validpgpkeys=(
    'CEACC9E15534EBABB82D3FA03353C9CEF108B584' # Michael Roth <flukshun@gmail.com>
)

sha512sums=('')