* [PR PATCH] [RFC] qemu: split
@ 2024-08-13 1:35 classabbyamp
2024-08-14 9:40 ` [PR REVIEW] " classabbyamp
` (12 more replies)
0 siblings, 13 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-13 1:35 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 402 bytes --]
There is a new pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 49214 bytes --]
From ba832fbb8c90b08b2c91a11c6f0095fca68f9cee Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: split system emulators, etc into subpackages
disable user emulators, as those should be provided by qemu-user
---
srcpkgs/qemu | 1 +
.../{qemu => qemu-common}/files/qemu-ga/run | 0
.../{qemu => qemu-common}/patches/lfs64.patch | 0
.../patches/mmap-mremap-efault.patch | 0
.../patches/musl-initialize-msghdr.patch | 0
.../patches/musl-mmap.patch | 0
srcpkgs/qemu-common/template | 214 ++++++++++++++++++
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-ga | 2 +-
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-nios2 | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 -
srcpkgs/qemu/template | 65 ------
45 files changed, 251 insertions(+), 74 deletions(-)
create mode 120000 srcpkgs/qemu
rename srcpkgs/{qemu => qemu-common}/files/qemu-ga/run (100%)
rename srcpkgs/{qemu => qemu-common}/patches/lfs64.patch (100%)
rename srcpkgs/{qemu => qemu-common}/patches/mmap-mremap-efault.patch (100%)
rename srcpkgs/{qemu => qemu-common}/patches/musl-initialize-msghdr.patch (100%)
rename srcpkgs/{qemu => qemu-common}/patches/musl-mmap.patch (100%)
create mode 100644 srcpkgs/qemu-common/template
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-nios2
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
delete mode 100644 srcpkgs/qemu/template
diff --git a/srcpkgs/qemu b/srcpkgs/qemu
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/qemu-ga/run b/srcpkgs/qemu-common/files/qemu-ga/run
similarity index 100%
rename from srcpkgs/qemu/files/qemu-ga/run
rename to srcpkgs/qemu-common/files/qemu-ga/run
diff --git a/srcpkgs/qemu/patches/lfs64.patch b/srcpkgs/qemu-common/patches/lfs64.patch
similarity index 100%
rename from srcpkgs/qemu/patches/lfs64.patch
rename to srcpkgs/qemu-common/patches/lfs64.patch
diff --git a/srcpkgs/qemu/patches/mmap-mremap-efault.patch b/srcpkgs/qemu-common/patches/mmap-mremap-efault.patch
similarity index 100%
rename from srcpkgs/qemu/patches/mmap-mremap-efault.patch
rename to srcpkgs/qemu-common/patches/mmap-mremap-efault.patch
diff --git a/srcpkgs/qemu/patches/musl-initialize-msghdr.patch b/srcpkgs/qemu-common/patches/musl-initialize-msghdr.patch
similarity index 100%
rename from srcpkgs/qemu/patches/musl-initialize-msghdr.patch
rename to srcpkgs/qemu-common/patches/musl-initialize-msghdr.patch
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu-common/patches/musl-mmap.patch
similarity index 100%
rename from srcpkgs/qemu/patches/musl-mmap.patch
rename to srcpkgs/qemu-common/patches/musl-mmap.patch
diff --git a/srcpkgs/qemu-common/template b/srcpkgs/qemu-common/template
new file mode 100644
index 00000000000000..15770a7e6adccb
--- /dev/null
+++ b/srcpkgs/qemu-common/template
@@ -0,0 +1,214 @@
+# Template file for 'qemu-common'
+# This package should be updated together with qemu-user
+pkgname=qemu-common
+version=9.0.2
+revision=2
+build_style=configure
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
+ --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
+ --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
+ --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
+ $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
+ $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_enable gtk3 gtk) --disable-user"
+hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
+ snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
+ libsasl-devel ncurses-devel libseccomp-devel nss-devel
+ libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
+ libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
+ libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
+ $(vopt_if gtk3 'gtk+3-devel vte3-devel')
+ $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
+ $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
+ $(vopt_if iscsi 'libiscsi-devel')
+ $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
+ $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
+short_desc="Open source processor emulator"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+ignore_elf_dirs="/usr/share/qemu"
+
+build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
+build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
+desc_option_sdl2="Enable SDL (2.x) video output"
+desc_option_spice="Enable support for SPICE"
+desc_option_virgl="Enable support for VirGL (A Virtual 3D GPU renderer)"
+desc_option_smartcard="Enable smartcard support"
+desc_option_numa="Enable support for host NUMA"
+desc_option_iscsi="Enable support for iSCSI"
+
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+_meta_depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ nios2
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ _meta_depends+=" ${_pkgname}>=${version}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu"
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
+ # qemu-bridge-helper must be setuid for non privileged users.
+ chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
+ vsv qemu-ga
+}
+
+qemu_package() {
+ build_style=meta
+ depends="$_meta_depends"
+}
+
+qemu-ga_package() {
+ short_desc+=" - guest agent"
+ pkg_install() {
+ vmove usr/bin/qemu-ga
+ vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
+ }
+}
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-ga b/srcpkgs/qemu-ga
index d3d421aa08c50d..2fa387ebd9162b 120000
--- a/srcpkgs/qemu-ga
+++ b/srcpkgs/qemu-ga
@@ -1 +1 @@
-qemu
\ No newline at end of file
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-nios2 b/srcpkgs/qemu-system-nios2
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-nios2
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
deleted file mode 100644
index 29b410164f3a95..00000000000000
--- a/srcpkgs/qemu/template
+++ /dev/null
@@ -1,65 +0,0 @@
-# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
-pkgname=qemu
-version=9.0.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
-makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
- snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
- libsasl-devel ncurses-devel libseccomp-devel nss-devel
- libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
- libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
-
-build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
-build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
-desc_option_sdl2="Enable SDL (2.x) video output"
-desc_option_spice="Enable support for SPICE"
-desc_option_virgl="Enable support for VirGL (A Virtual 3D GPU renderer)"
-desc_option_smartcard="Enable smartcard support"
-desc_option_numa="Enable support for host NUMA"
-desc_option_iscsi="Enable support for iSCSI"
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
-
- # qemu-bridge-helper must be setuid for non privileged users.
- chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
- vsv qemu-ga
-}
-
-qemu-ga_package() {
- short_desc="QEMU Guest Agent"
- pkg_install() {
- vmove usr/bin/qemu-ga
- vmove etc/sv/qemu-ga
- }
-}
From ba83dbec1ebe1ee71af62ef3d6eb3c1b850d5d39 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: split emulators, rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-nios2 | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
40 files changed, 140 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-nios2
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-nios2 b/srcpkgs/qemu-user-nios2
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-nios2
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..7c4f3d5dce973d
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.0.2
+revision=3
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
+ --disable-tools --enable-linux-user --disable-system --static"
+hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ nios2
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From c07ccb47b0feac1326562be785be733dd749b341 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index 60b4b05178e227..798d3ce3a92bb1 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR REVIEW] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
2024-08-14 9:40 ` [PR REVIEW] " classabbyamp
@ 2024-08-14 9:40 ` classabbyamp
2024-08-14 18:37 ` [PR PATCH] [Updated] " classabbyamp
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-14 9:40 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 227 bytes --]
New review comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/51814#discussion_r1716622241
Comment:
```suggestion
_meta_depends+=" ${_pkgname}>=${version}_${revision}"
```
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR REVIEW] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
@ 2024-08-14 9:40 ` classabbyamp
2024-08-14 9:40 ` classabbyamp
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-14 9:40 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 157 bytes --]
New review comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/51814#discussion_r1716622631
Comment:
back
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
2024-08-14 9:40 ` [PR REVIEW] " classabbyamp
2024-08-14 9:40 ` classabbyamp
@ 2024-08-14 18:37 ` classabbyamp
2024-08-14 18:50 ` classabbyamp
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-14 18:37 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 43719 bytes --]
From d180de1de2632bedf979a87a8d7a09c0666d4611 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: split system emulators, etc into subpackages
disable user emulators, as those should be provided by qemu-user
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-ga | 2 +-
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-nios2 | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/template | 179 ++++++++++++++++++++++++++--
39 files changed, 204 insertions(+), 21 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-nios2
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-ga b/srcpkgs/qemu-ga
index d3d421aa08c50d..2fa387ebd9162b 120000
--- a/srcpkgs/qemu-ga
+++ b/srcpkgs/qemu-ga
@@ -1 +1 @@
-qemu
\ No newline at end of file
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-nios2 b/srcpkgs/qemu-system-nios2
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-nios2
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..2fa387ebd9162b
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu-common
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..55280131c67fad 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,15 +1,15 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
version=9.0.2
-revision=1
-build_style=configure
+revision=2
+build_style=meta
configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
--disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
--enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
--audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
$(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
+ $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_enable gtk3 gtk) --disable-user"
hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
@@ -23,16 +23,13 @@ makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-de
$(vopt_if iscsi 'libiscsi-devel')
$(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
$(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +40,181 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ nios2
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From 8d9603378b4c1770df613383b5492f690dcca857 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: split emulators, rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-nios2 | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
40 files changed, 140 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-nios2
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-nios2 b/srcpkgs/qemu-user-nios2
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-nios2
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..7c4f3d5dce973d
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.0.2
+revision=3
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
+ --disable-tools --enable-linux-user --disable-system --static"
+hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ nios2
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From dbf9559a455ec4702d219fb5b24df88f61fd0544 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index 60b4b05178e227..798d3ce3a92bb1 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (2 preceding siblings ...)
2024-08-14 18:37 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-08-14 18:50 ` classabbyamp
2024-08-15 12:23 ` classabbyamp
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-14 18:50 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 43206 bytes --]
From 2a0cfbd3a0b87d2b0344577d0778dd08b3e0afb2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: split system emulators, etc into subpackages
disable user emulators, as those should be provided by qemu-user
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-nios2 | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/template | 179 ++++++++++++++++++++++++++--
38 files changed, 203 insertions(+), 20 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-nios2
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-nios2 b/srcpkgs/qemu-system-nios2
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-nios2
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..55280131c67fad 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,15 +1,15 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
version=9.0.2
-revision=1
-build_style=configure
+revision=2
+build_style=meta
configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
--disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
--enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
--audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
$(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
+ $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_enable gtk3 gtk) --disable-user"
hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
@@ -23,16 +23,13 @@ makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-de
$(vopt_if iscsi 'libiscsi-devel')
$(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
$(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +40,181 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ nios2
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From cac1da30fc461d2d04839fd45f295fc51de99178 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: split emulators, rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-nios2 | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
40 files changed, 140 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-nios2
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-nios2 b/srcpkgs/qemu-user-nios2
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-nios2
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..7c4f3d5dce973d
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.0.2
+revision=3
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
+ --disable-tools --enable-linux-user --disable-system --static"
+hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ nios2
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From d0d8d684b67be9eb898715a72b66e7d2f93828e3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index 60b4b05178e227..798d3ce3a92bb1 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (3 preceding siblings ...)
2024-08-14 18:50 ` classabbyamp
@ 2024-08-15 12:23 ` classabbyamp
2024-08-19 5:53 ` classabbyamp
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-15 12:23 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 46665 bytes --]
From 9034970e11f53f844e47f950f7f8e2714b62db91 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: split system emulators, etc into subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-nios2 | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 54 ++++++--
srcpkgs/qemu/template | 179 +++++++++++++++++++++++++--
39 files changed, 249 insertions(+), 28 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-nios2
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-nios2 b/srcpkgs/qemu-system-nios2
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-nios2
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
index 2909f0a896d5c5..906ccc28f80145 100644
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ b/srcpkgs/qemu/patches/musl-mmap.patch
@@ -1,33 +1,71 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
+From 3aefee3ec01e607529a9918e2978f365c5c3b5e9 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Tue, 13 Aug 2024 16:33:58 +1000
+Subject: [PATCH] linux-user: Preserve NULL hit in target_mmap subroutines
+
+Do not pass guest_base to the host mmap instead of zero hint.
+
+Cc: qemu-stable@nongnu.org
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2353
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+---
+ linux-user/mmap.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
+index 4d09a72fadc..6418e811f69 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
+@@ -560,9 +560,13 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
int host_prot, int flags, int page_flags,
int fd, off_t offset)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
abi_ulong last;
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
+ if (p == MAP_FAILED) {
+ return -1;
+@@ -610,11 +614,15 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
int mmap_flags, int page_flags, int fd,
off_t offset, int host_page_size)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
off_t fileend_adj = 0;
int flags = mmap_flags;
abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
+
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
+ if (!(flags & MAP_ANONYMOUS)) {
+ struct stat sb;
+
+@@ -740,12 +748,16 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
int flags, int page_flags, int fd,
off_t offset, int host_page_size)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
off_t host_offset = offset & -host_page_size;
abi_ulong last, real_start, real_last;
bool misaligned_offset = false;
+ size_t host_len;
+
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
+ if (!(flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
+ /*
+ * Adjust the offset to something representable on the host.
+--
+GitLab
+
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..55280131c67fad 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,15 +1,15 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
version=9.0.2
-revision=1
-build_style=configure
+revision=2
+build_style=meta
configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
--disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
--enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
--audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
$(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
+ $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_enable gtk3 gtk) --disable-user"
hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
@@ -23,16 +23,13 @@ makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-de
$(vopt_if iscsi 'libiscsi-devel')
$(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
$(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +40,181 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ nios2
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From b5b28ba91fa4725a7f474f4e0f20668607234305 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: split emulators, rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-nios2 | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
40 files changed, 140 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-nios2
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-nios2 b/srcpkgs/qemu-user-nios2
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-nios2
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..7c4f3d5dce973d
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.0.2
+revision=3
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
+ --disable-tools --enable-linux-user --disable-system --static"
+hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ nios2
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From 64621563982ea8f03cacee2be1f731eee8c287b4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index 60b4b05178e227..798d3ce3a92bb1 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (4 preceding siblings ...)
2024-08-15 12:23 ` classabbyamp
@ 2024-08-19 5:53 ` classabbyamp
2024-08-19 9:01 ` classabbyamp
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-19 5:53 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 47737 bytes --]
From 9c6bc256d17d91ae219b191d2a2cca62f134f0b7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: split system emulators, etc into subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-nios2 | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 54 +++++--
srcpkgs/qemu/template | 202 +++++++++++++++++++++++----
39 files changed, 259 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-nios2
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-nios2 b/srcpkgs/qemu-system-nios2
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-nios2
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
index 2909f0a896d5c5..906ccc28f80145 100644
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ b/srcpkgs/qemu/patches/musl-mmap.patch
@@ -1,33 +1,71 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
+From 3aefee3ec01e607529a9918e2978f365c5c3b5e9 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Tue, 13 Aug 2024 16:33:58 +1000
+Subject: [PATCH] linux-user: Preserve NULL hit in target_mmap subroutines
+
+Do not pass guest_base to the host mmap instead of zero hint.
+
+Cc: qemu-stable@nongnu.org
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2353
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+---
+ linux-user/mmap.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
+index 4d09a72fadc..6418e811f69 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
+@@ -560,9 +560,13 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
int host_prot, int flags, int page_flags,
int fd, off_t offset)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
abi_ulong last;
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
+ if (p == MAP_FAILED) {
+ return -1;
+@@ -610,11 +614,15 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
int mmap_flags, int page_flags, int fd,
off_t offset, int host_page_size)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
off_t fileend_adj = 0;
int flags = mmap_flags;
abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
+
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
+ if (!(flags & MAP_ANONYMOUS)) {
+ struct stat sb;
+
+@@ -740,12 +748,16 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
int flags, int page_flags, int fd,
off_t offset, int host_page_size)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
off_t host_offset = offset & -host_page_size;
abi_ulong last, real_start, real_last;
bool misaligned_offset = false;
+ size_t host_len;
+
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
+ if (!(flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
+ /*
+ * Adjust the offset to something representable on the host.
+--
+GitLab
+
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..69c0a0943b5b9a 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,38 +1,32 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
version=9.0.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+revision=2
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --localstatedir=/var --enable-pie --disable-user
+ -Dglusterfs=disabled -Dxen=disabled -Ddocs=enabled -Dlibusb=enabled -Dsnappy=enabled
+ -Dtpm=enabled -Dusb_redir=enabled -Dvhost_net=enabled -Dvirtfs=enabled -Dpng=enabled
+ -Daudio_drv_list=alsa,sdl,jack,pa -Dopengl=enabled -Dpa=enabled -Dsdl=enabled
+ -Dsmartcard=enabled -Dspice=enabled -Dvirglrenderer=enabled -Dgtk=enabled"
+hostmakedepends="meson flex glib-devel gettext pkg-config perl python3-sphinx_rtd_theme"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
libsasl-devel ncurses-devel libseccomp-devel nss-devel
libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+ libxkbcommon-devel libzstd-devel SDL2-devel SDL2_image-devel gtk+3-devel
+ vte3-devel spice-devel pcsclite-devel virglrenderer-devel libepoxy-devel
+ libdrm-devel MesaLib-devel libiscsi-devel libcacard-devel libnuma-devel
+ jack-devel pulseaudio-devel"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +37,181 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ nios2
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From 2fcbd7ef335a07f380bc347a658952d50a16b608 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: split emulators, rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-nios2 | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 105 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
40 files changed, 141 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-nios2
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-nios2 b/srcpkgs/qemu-user-nios2
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-nios2
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..af6944560330f5
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,105 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.0.2
+revision=3
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --enable-linux-user --disable-system
+ -Dkvm=disabled -Dpng=disabled -Dvirtfs=disabled -Dfdt=disabled -Dseccomp=disabled
+ -Dtools=disabled"
+hostmakedepends="meson flex glib-devel pkg-config perl"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ nios2
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From 0692f52e3944aa7a2fa8d6210a61f050603f63d7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index 60b4b05178e227..798d3ce3a92bb1 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (5 preceding siblings ...)
2024-08-19 5:53 ` classabbyamp
@ 2024-08-19 9:01 ` classabbyamp
2024-08-23 3:54 ` classabbyamp
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-19 9:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 47760 bytes --]
From 9c6bc256d17d91ae219b191d2a2cca62f134f0b7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: split system emulators, etc into subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-nios2 | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 54 +++++--
srcpkgs/qemu/template | 202 +++++++++++++++++++++++----
39 files changed, 259 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-nios2
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-nios2 b/srcpkgs/qemu-system-nios2
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-nios2
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
index 2909f0a896d5c5..906ccc28f80145 100644
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ b/srcpkgs/qemu/patches/musl-mmap.patch
@@ -1,33 +1,71 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
+From 3aefee3ec01e607529a9918e2978f365c5c3b5e9 Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Tue, 13 Aug 2024 16:33:58 +1000
+Subject: [PATCH] linux-user: Preserve NULL hit in target_mmap subroutines
+
+Do not pass guest_base to the host mmap instead of zero hint.
+
+Cc: qemu-stable@nongnu.org
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2353
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+---
+ linux-user/mmap.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
+index 4d09a72fadc..6418e811f69 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
+@@ -560,9 +560,13 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
int host_prot, int flags, int page_flags,
int fd, off_t offset)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
abi_ulong last;
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
+ if (p == MAP_FAILED) {
+ return -1;
+@@ -610,11 +614,15 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
int mmap_flags, int page_flags, int fd,
off_t offset, int host_page_size)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
off_t fileend_adj = 0;
int flags = mmap_flags;
abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
+
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
+ if (!(flags & MAP_ANONYMOUS)) {
+ struct stat sb;
+
+@@ -740,12 +748,16 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
int flags, int page_flags, int fd,
off_t offset, int host_page_size)
{
- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
++ void *p, *want_p = NULL;
off_t host_offset = offset & -host_page_size;
abi_ulong last, real_start, real_last;
bool misaligned_offset = false;
+ size_t host_len;
+
++ if (start || (flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
++ want_p = g2h_untagged(start);
++ }
++
+ if (!(flags & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
+ /*
+ * Adjust the offset to something representable on the host.
+--
+GitLab
+
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..69c0a0943b5b9a 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,38 +1,32 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
version=9.0.2
-revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+revision=2
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --localstatedir=/var --enable-pie --disable-user
+ -Dglusterfs=disabled -Dxen=disabled -Ddocs=enabled -Dlibusb=enabled -Dsnappy=enabled
+ -Dtpm=enabled -Dusb_redir=enabled -Dvhost_net=enabled -Dvirtfs=enabled -Dpng=enabled
+ -Daudio_drv_list=alsa,sdl,jack,pa -Dopengl=enabled -Dpa=enabled -Dsdl=enabled
+ -Dsmartcard=enabled -Dspice=enabled -Dvirglrenderer=enabled -Dgtk=enabled"
+hostmakedepends="meson flex glib-devel gettext pkg-config perl python3-sphinx_rtd_theme"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
libsasl-devel ncurses-devel libseccomp-devel nss-devel
libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+ libxkbcommon-devel libzstd-devel SDL2-devel SDL2_image-devel gtk+3-devel
+ vte3-devel spice-devel pcsclite-devel virglrenderer-devel libepoxy-devel
+ libdrm-devel MesaLib-devel libiscsi-devel libcacard-devel libnuma-devel
+ jack-devel pulseaudio-devel"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +37,181 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ nios2
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From b355f90b730cba3ba912f6d7ce053476f03e16d4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: split emulators, rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-nios2 | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 105 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
40 files changed, 141 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-nios2
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-nios2 b/srcpkgs/qemu-user-nios2
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-nios2
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..ad15777d97cc99
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,105 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.0.2
+revision=3
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --enable-linux-user --disable-system
+ -Dkvm=disabled -Dpng=disabled -Dvirtfs=disabled -Dfdt=disabled -Dseccomp=disabled
+ -Dtools=disabled"
+hostmakedepends="meson flex glib-devel pkg-config perl"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ nios2
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec ${DESTDIR}/usr/include
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From fa8a970717f17178ab508c468d0300ea2fd90537 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index 60b4b05178e227..798d3ce3a92bb1 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (6 preceding siblings ...)
2024-08-19 9:01 ` classabbyamp
@ 2024-08-23 3:54 ` classabbyamp
2024-09-05 6:07 ` [PR PATCH] [Updated] " classabbyamp
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-08-23 3:54 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 183 bytes --]
New comment by classabbyamp on void-packages repository
https://github.com/void-linux/void-packages/pull/51814#issuecomment-2306130866
Comment:
will merge with the next qemu update
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (7 preceding siblings ...)
2024-08-23 3:54 ` classabbyamp
@ 2024-09-05 6:07 ` classabbyamp
2024-09-07 11:27 ` [PR PATCH] [Updated] [RFC] qemu: update to 9.1.0, split classabbyamp
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-09-05 6:07 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 407 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 45671 bytes --]
From 032b5070707392d58f82240c1630032d83e82e05 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: update to 9.1.0, split system emulators etc into
subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 33 -----
srcpkgs/qemu/template | 203 +++++++++++++++++++++++----
38 files changed, 212 insertions(+), 67 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
delete mode 100644 srcpkgs/qemu/patches/musl-mmap.patch
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
deleted file mode 100644
index 2909f0a896d5c5..00000000000000
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
-
-diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
---- a/linux-user/mmap.c
-+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
- int host_prot, int flags, int page_flags,
- int fd, off_t offset)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- abi_ulong last;
-
- p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
- int mmap_flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t fileend_adj = 0;
- int flags = mmap_flags;
- abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
- int flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t host_offset = offset & -host_page_size;
- abi_ulong last, real_start, real_last;
- bool misaligned_offset = false;
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..12f1a83f69281d 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,38 +1,32 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
-version=9.0.2
+version=9.1.0
revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --localstatedir=/var --enable-pie --disable-user
+ -Dglusterfs=disabled -Dxen=disabled -Ddocs=enabled -Dlibusb=enabled -Dsnappy=enabled
+ -Dtpm=enabled -Dusb_redir=enabled -Dvhost_net=enabled -Dvirtfs=enabled -Dpng=enabled
+ -Daudio_drv_list=alsa,sdl,jack,pa -Dopengl=enabled -Dpa=enabled -Dsdl=enabled
+ -Dsmartcard=enabled -Dspice=enabled -Dvirglrenderer=enabled -Dgtk=enabled"
+hostmakedepends="meson flex glib-devel gettext pkg-config perl python3-sphinx_rtd_theme"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
libsasl-devel ncurses-devel libseccomp-devel nss-devel
libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+ libxkbcommon-devel libzstd-devel SDL2-devel SDL2_image-devel gtk+3-devel
+ vte3-devel spice-devel pcsclite-devel virglrenderer-devel libepoxy-devel
+ libdrm-devel MesaLib-devel libiscsi-devel libcacard-devel libnuma-devel
+ jack-devel pulseaudio-devel"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +37,180 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper,vmsr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From 2401b93388001c176846869421b20e5ea0789a72 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: update to 9.1.0, split emulators,
rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
39 files changed, 139 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..e66f3d629778aa
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.1.0
+revision=1
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --enable-linux-user --disable-system
+ -Dkvm=disabled -Dpng=disabled -Dvirtfs=disabled -Dfdt=disabled -Dseccomp=disabled
+ -Dtools=disabled"
+hostmakedepends="meson flex glib-devel pkg-config perl"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec ${DESTDIR}/usr/include
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From aa1e83296bafa0c4a512a81b22397245cc6ddbe2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index abc8d7597c9b18..cc9ca1efa14610 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=469332a5e718662cb15098894fd825bc6a23d76aaddd498e1dd4a9c2bc0fa6ae
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index b4da5f12023f31..4a8810a95238fa 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: update to 9.1.0, split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (8 preceding siblings ...)
2024-09-05 6:07 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-09-07 11:27 ` classabbyamp
2024-09-08 1:59 ` classabbyamp
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-09-07 11:27 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 424 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: update to 9.1.0, split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 45671 bytes --]
From 591ddb4b980c5bb8af006f814f8ae1b872b28899 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: update to 9.1.0, split system emulators etc into
subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 33 -----
srcpkgs/qemu/template | 203 +++++++++++++++++++++++----
38 files changed, 212 insertions(+), 67 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
delete mode 100644 srcpkgs/qemu/patches/musl-mmap.patch
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
deleted file mode 100644
index 2909f0a896d5c5..00000000000000
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
-
-diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
---- a/linux-user/mmap.c
-+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
- int host_prot, int flags, int page_flags,
- int fd, off_t offset)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- abi_ulong last;
-
- p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
- int mmap_flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t fileend_adj = 0;
- int flags = mmap_flags;
- abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
- int flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t host_offset = offset & -host_page_size;
- abi_ulong last, real_start, real_last;
- bool misaligned_offset = false;
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..12f1a83f69281d 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,38 +1,32 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
-version=9.0.2
+version=9.1.0
revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --localstatedir=/var --enable-pie --disable-user
+ -Dglusterfs=disabled -Dxen=disabled -Ddocs=enabled -Dlibusb=enabled -Dsnappy=enabled
+ -Dtpm=enabled -Dusb_redir=enabled -Dvhost_net=enabled -Dvirtfs=enabled -Dpng=enabled
+ -Daudio_drv_list=alsa,sdl,jack,pa -Dopengl=enabled -Dpa=enabled -Dsdl=enabled
+ -Dsmartcard=enabled -Dspice=enabled -Dvirglrenderer=enabled -Dgtk=enabled"
+hostmakedepends="meson flex glib-devel gettext pkg-config perl python3-sphinx_rtd_theme"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
libsasl-devel ncurses-devel libseccomp-devel nss-devel
libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+ libxkbcommon-devel libzstd-devel SDL2-devel SDL2_image-devel gtk+3-devel
+ vte3-devel spice-devel pcsclite-devel virglrenderer-devel libepoxy-devel
+ libdrm-devel MesaLib-devel libiscsi-devel libcacard-devel libnuma-devel
+ jack-devel pulseaudio-devel"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +37,180 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper,vmsr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From 3e5130711c389a3ebda81f2a33a3eef380a7ab26 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: update to 9.1.0, split emulators,
rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
39 files changed, 139 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..e66f3d629778aa
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.1.0
+revision=1
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --enable-linux-user --disable-system
+ -Dkvm=disabled -Dpng=disabled -Dvirtfs=disabled -Dfdt=disabled -Dseccomp=disabled
+ -Dtools=disabled"
+hostmakedepends="meson flex glib-devel pkg-config perl"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec ${DESTDIR}/usr/include
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From b9b025a11a2111781a4a7da09475a8595ba3b8e3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index cbcc7ea10d5ae7..33709983cc8bd7 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=d70b125666b23ca4c0f8986fa0786a3d2b9efb7a56b558b703083cdfaa793f4e
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index b4da5f12023f31..4a8810a95238fa 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: update to 9.1.0, split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (9 preceding siblings ...)
2024-09-07 11:27 ` [PR PATCH] [Updated] [RFC] qemu: update to 9.1.0, split classabbyamp
@ 2024-09-08 1:59 ` classabbyamp
2024-09-08 13:27 ` classabbyamp
2024-09-08 23:40 ` [PR PATCH] [Merged]: " classabbyamp
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-09-08 1:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 424 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: update to 9.1.0, split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 46593 bytes --]
From 0b549255763a18bc8220b3ad5ba544c37b770fe1 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/4] qemu: update to 9.1.0, split system emulators etc into
subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 33 -----
srcpkgs/qemu/template | 203 +++++++++++++++++++++++----
38 files changed, 212 insertions(+), 67 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
delete mode 100644 srcpkgs/qemu/patches/musl-mmap.patch
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
deleted file mode 100644
index 2909f0a896d5c5..00000000000000
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
-
-diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
---- a/linux-user/mmap.c
-+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
- int host_prot, int flags, int page_flags,
- int fd, off_t offset)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- abi_ulong last;
-
- p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
- int mmap_flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t fileend_adj = 0;
- int flags = mmap_flags;
- abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
- int flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t host_offset = offset & -host_page_size;
- abi_ulong last, real_start, real_last;
- bool misaligned_offset = false;
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..12f1a83f69281d 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,38 +1,32 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
-version=9.0.2
+version=9.1.0
revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --localstatedir=/var --enable-pie --disable-user
+ -Dglusterfs=disabled -Dxen=disabled -Ddocs=enabled -Dlibusb=enabled -Dsnappy=enabled
+ -Dtpm=enabled -Dusb_redir=enabled -Dvhost_net=enabled -Dvirtfs=enabled -Dpng=enabled
+ -Daudio_drv_list=alsa,sdl,jack,pa -Dopengl=enabled -Dpa=enabled -Dsdl=enabled
+ -Dsmartcard=enabled -Dspice=enabled -Dvirglrenderer=enabled -Dgtk=enabled"
+hostmakedepends="meson flex glib-devel gettext pkg-config perl python3-sphinx_rtd_theme"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
libsasl-devel ncurses-devel libseccomp-devel nss-devel
libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+ libxkbcommon-devel libzstd-devel SDL2-devel SDL2_image-devel gtk+3-devel
+ vte3-devel spice-devel pcsclite-devel virglrenderer-devel libepoxy-devel
+ libdrm-devel MesaLib-devel libiscsi-devel libcacard-devel libnuma-devel
+ jack-devel pulseaudio-devel"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +37,180 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper,vmsr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From bd3e4cfbc3b2e57293e40679d6962d1a594f0767 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/4] qemu-user-static: update to 9.1.0, split emulators,
rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
39 files changed, 139 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..e66f3d629778aa
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.1.0
+revision=1
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --enable-linux-user --disable-system
+ -Dkvm=disabled -Dpng=disabled -Dvirtfs=disabled -Dfdt=disabled -Dseccomp=disabled
+ -Dtools=disabled"
+hostmakedepends="meson flex glib-devel pkg-config perl"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec ${DESTDIR}/usr/include
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From 1e80c4e50721fe5710f8762c5776169a6c1e29c3 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/4] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index cbcc7ea10d5ae7..33709983cc8bd7 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=d70b125666b23ca4c0f8986fa0786a3d2b9efb7a56b558b703083cdfaa793f4e
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index b4da5f12023f31..4a8810a95238fa 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
From e97be739948546198d16f80e9ff47591bcccb961 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sat, 7 Sep 2024 21:59:38 -0400
Subject: [PATCH 4/4] gobject-introspection-bootstrap: rebuild for
6f1df57a78fed63b136623adc2793a63abbe0a4d
---
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 566d9e307c4ea9..1ac8bd90001ae3 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -5,7 +5,7 @@
# libgirepository-1.0 to libgirepository-2.0 migration.
pkgname=gobject-introspection-bootstrap
version=1.80.1
-revision=1
+revision=2
build_style=meson
configure_args="-Dbuild_introspection_data=false"
pycompile_dirs="usr/lib/gobject-introspection/giscanner"
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Updated] [RFC] qemu: update to 9.1.0, split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (10 preceding siblings ...)
2024-09-08 1:59 ` classabbyamp
@ 2024-09-08 13:27 ` classabbyamp
2024-09-08 23:40 ` [PR PATCH] [Merged]: " classabbyamp
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-09-08 13:27 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 424 bytes --]
There is an updated pull request by classabbyamp against master on the void-packages repository
https://github.com/classabbyamp/void-packages qemu-banana
https://github.com/void-linux/void-packages/pull/51814
[RFC] qemu: update to 9.1.0, split
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
A patch file from https://github.com/void-linux/void-packages/pull/51814.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-qemu-banana-51814.patch --]
[-- Type: text/x-diff, Size: 45736 bytes --]
From 3846dc9fea276ef006d6f43f3a5eab251593878d Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:08:53 -0400
Subject: [PATCH 1/3] qemu: update to 9.1.0, split system emulators etc into
subpackages
disable user emulators, as those should be provided by qemu-user
add official upstream patch for mmap issue
---
srcpkgs/qemu-common | 1 +
srcpkgs/qemu-doc | 1 +
srcpkgs/qemu-firmware | 1 +
srcpkgs/qemu-img | 1 +
srcpkgs/qemu-system-aarch64 | 1 +
srcpkgs/qemu-system-alpha | 1 +
srcpkgs/qemu-system-amd64 | 1 +
srcpkgs/qemu-system-arm | 1 +
srcpkgs/qemu-system-avr | 1 +
srcpkgs/qemu-system-cris | 1 +
srcpkgs/qemu-system-hppa | 1 +
srcpkgs/qemu-system-i386 | 1 +
srcpkgs/qemu-system-loongarch64 | 1 +
srcpkgs/qemu-system-m68k | 1 +
srcpkgs/qemu-system-microblaze | 1 +
srcpkgs/qemu-system-microblazeel | 1 +
srcpkgs/qemu-system-mips | 1 +
srcpkgs/qemu-system-mips64 | 1 +
srcpkgs/qemu-system-mips64el | 1 +
srcpkgs/qemu-system-mipsel | 1 +
srcpkgs/qemu-system-or1k | 1 +
srcpkgs/qemu-system-ppc | 1 +
srcpkgs/qemu-system-ppc64 | 1 +
srcpkgs/qemu-system-riscv32 | 1 +
srcpkgs/qemu-system-riscv64 | 1 +
srcpkgs/qemu-system-rx | 1 +
srcpkgs/qemu-system-s390x | 1 +
srcpkgs/qemu-system-sh4 | 1 +
srcpkgs/qemu-system-sh4eb | 1 +
srcpkgs/qemu-system-sparc | 1 +
srcpkgs/qemu-system-sparc64 | 1 +
srcpkgs/qemu-system-tricore | 1 +
srcpkgs/qemu-system-xtensa | 1 +
srcpkgs/qemu-system-xtensaeb | 1 +
srcpkgs/qemu-tools | 1 +
srcpkgs/qemu/files/README.voidlinux | 8 --
srcpkgs/qemu/patches/musl-mmap.patch | 33 -----
srcpkgs/qemu/template | 206 +++++++++++++++++++++++----
38 files changed, 215 insertions(+), 67 deletions(-)
create mode 120000 srcpkgs/qemu-common
create mode 120000 srcpkgs/qemu-doc
create mode 120000 srcpkgs/qemu-firmware
create mode 120000 srcpkgs/qemu-img
create mode 120000 srcpkgs/qemu-system-aarch64
create mode 120000 srcpkgs/qemu-system-alpha
create mode 120000 srcpkgs/qemu-system-amd64
create mode 120000 srcpkgs/qemu-system-arm
create mode 120000 srcpkgs/qemu-system-avr
create mode 120000 srcpkgs/qemu-system-cris
create mode 120000 srcpkgs/qemu-system-hppa
create mode 120000 srcpkgs/qemu-system-i386
create mode 120000 srcpkgs/qemu-system-loongarch64
create mode 120000 srcpkgs/qemu-system-m68k
create mode 120000 srcpkgs/qemu-system-microblaze
create mode 120000 srcpkgs/qemu-system-microblazeel
create mode 120000 srcpkgs/qemu-system-mips
create mode 120000 srcpkgs/qemu-system-mips64
create mode 120000 srcpkgs/qemu-system-mips64el
create mode 120000 srcpkgs/qemu-system-mipsel
create mode 120000 srcpkgs/qemu-system-or1k
create mode 120000 srcpkgs/qemu-system-ppc
create mode 120000 srcpkgs/qemu-system-ppc64
create mode 120000 srcpkgs/qemu-system-riscv32
create mode 120000 srcpkgs/qemu-system-riscv64
create mode 120000 srcpkgs/qemu-system-rx
create mode 120000 srcpkgs/qemu-system-s390x
create mode 120000 srcpkgs/qemu-system-sh4
create mode 120000 srcpkgs/qemu-system-sh4eb
create mode 120000 srcpkgs/qemu-system-sparc
create mode 120000 srcpkgs/qemu-system-sparc64
create mode 120000 srcpkgs/qemu-system-tricore
create mode 120000 srcpkgs/qemu-system-xtensa
create mode 120000 srcpkgs/qemu-system-xtensaeb
create mode 120000 srcpkgs/qemu-tools
delete mode 100644 srcpkgs/qemu/files/README.voidlinux
delete mode 100644 srcpkgs/qemu/patches/musl-mmap.patch
diff --git a/srcpkgs/qemu-common b/srcpkgs/qemu-common
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-common
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-doc b/srcpkgs/qemu-doc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-doc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-firmware b/srcpkgs/qemu-firmware
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-firmware
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-img b/srcpkgs/qemu-img
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-img
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-aarch64 b/srcpkgs/qemu-system-aarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-aarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-alpha b/srcpkgs/qemu-system-alpha
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-alpha
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-amd64 b/srcpkgs/qemu-system-amd64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-amd64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-arm b/srcpkgs/qemu-system-arm
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-arm
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-avr b/srcpkgs/qemu-system-avr
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-avr
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-cris b/srcpkgs/qemu-system-cris
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-cris
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-hppa b/srcpkgs/qemu-system-hppa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-hppa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-i386 b/srcpkgs/qemu-system-i386
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-i386
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-loongarch64 b/srcpkgs/qemu-system-loongarch64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-loongarch64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-m68k b/srcpkgs/qemu-system-m68k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-m68k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblaze b/srcpkgs/qemu-system-microblaze
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblaze
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-microblazeel b/srcpkgs/qemu-system-microblazeel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-microblazeel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips b/srcpkgs/qemu-system-mips
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64 b/srcpkgs/qemu-system-mips64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mips64el b/srcpkgs/qemu-system-mips64el
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mips64el
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-mipsel b/srcpkgs/qemu-system-mipsel
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-mipsel
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-or1k b/srcpkgs/qemu-system-or1k
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-or1k
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc b/srcpkgs/qemu-system-ppc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-ppc64 b/srcpkgs/qemu-system-ppc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-ppc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv32 b/srcpkgs/qemu-system-riscv32
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv32
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-riscv64 b/srcpkgs/qemu-system-riscv64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-riscv64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-rx b/srcpkgs/qemu-system-rx
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-rx
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-s390x b/srcpkgs/qemu-system-s390x
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-s390x
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4 b/srcpkgs/qemu-system-sh4
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sh4eb b/srcpkgs/qemu-system-sh4eb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sh4eb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc b/srcpkgs/qemu-system-sparc
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-sparc64 b/srcpkgs/qemu-system-sparc64
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-sparc64
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-tricore b/srcpkgs/qemu-system-tricore
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-tricore
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensa b/srcpkgs/qemu-system-xtensa
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensa
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-system-xtensaeb b/srcpkgs/qemu-system-xtensaeb
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-system-xtensaeb
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu-tools b/srcpkgs/qemu-tools
new file mode 120000
index 00000000000000..d3d421aa08c50d
--- /dev/null
+++ b/srcpkgs/qemu-tools
@@ -0,0 +1 @@
+qemu
\ No newline at end of file
diff --git a/srcpkgs/qemu/files/README.voidlinux b/srcpkgs/qemu/files/README.voidlinux
deleted file mode 100644
index 7d61d82bca4e3c..00000000000000
--- a/srcpkgs/qemu/files/README.voidlinux
+++ /dev/null
@@ -1,8 +0,0 @@
-To enable KVM your user must be added to the 'kvm' group:
-
- $ usermod -aG kvm <username>
-
-Don't forget to load the appropiate KVM module for your CPU (x86 only):
-
- $ modprobe kvm-amd # for AMD CPUs
- $ modprobe kvm-intel # for Intel CPUs
diff --git a/srcpkgs/qemu/patches/musl-mmap.patch b/srcpkgs/qemu/patches/musl-mmap.patch
deleted file mode 100644
index 2909f0a896d5c5..00000000000000
--- a/srcpkgs/qemu/patches/musl-mmap.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-source: https://gitlab.com/qemu-project/qemu/-/issues/2353
-
-diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index be3b9a6..dad29ef 100644
---- a/linux-user/mmap.c
-+++ b/linux-user/mmap.c
-@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
- int host_prot, int flags, int page_flags,
- int fd, off_t offset)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- abi_ulong last;
-
- p = mmap(want_p, len, host_prot, flags, fd, offset);
-@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
- int mmap_flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t fileend_adj = 0;
- int flags = mmap_flags;
- abi_ulong last, pass_last;
-@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
- int flags, int page_flags, int fd,
- off_t offset, int host_page_size)
- {
-- void *p, *want_p = g2h_untagged(start);
-+ void *p, *want_p = start ? g2h_untagged(start) : 0;
- off_t host_offset = offset & -host_page_size;
- abi_ulong last, real_start, real_last;
- bool misaligned_offset = false;
diff --git a/srcpkgs/qemu/template b/srcpkgs/qemu/template
index 29b410164f3a95..acf94667137bca 100644
--- a/srcpkgs/qemu/template
+++ b/srcpkgs/qemu/template
@@ -1,38 +1,32 @@
# Template file for 'qemu'
-# This package should be updated together with qemu-user-static
+# This package should be updated together with qemu-user
pkgname=qemu
-version=9.0.2
+version=9.1.0
revision=1
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec --localstatedir=/var
- --disable-glusterfs --disable-xen --enable-docs --enable-kvm --enable-libusb --enable-pie
- --enable-snappy --enable-tpm --enable-usb-redir --enable-vhost-net --enable-virtfs --enable-png
- --audio-drv-list=alsa$(vopt_if sdl2 ,sdl)$(vopt_if jack ,jack)$(vopt_if pulseaudio ,pa)
- $(vopt_enable opengl) $(vopt_enable pulseaudio pa) $(vopt_enable sdl2 sdl) $(vopt_enable smartcard)
- $(vopt_enable spice) $(vopt_enable virgl virglrenderer) $(vopt_if gtk3 '--enable-gtk')"
-hostmakedepends="flex glib-devel gettext pkg-config perl python3 python3-Sphinx python3-sphinx_rtd_theme ninja"
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --localstatedir=/var --enable-pie --disable-user
+ -Dglusterfs=disabled -Dxen=disabled -Ddocs=enabled -Dlibusb=enabled -Dsnappy=enabled
+ -Dtpm=enabled -Dusb_redir=enabled -Dvhost_net=enabled -Dvirtfs=enabled -Dpng=enabled
+ -Daudio_drv_list=alsa,sdl,jack,pa -Dopengl=enabled -Dpa=enabled -Dsdl=enabled
+ -Dsmartcard=enabled -Dspice=enabled -Dvirglrenderer=enabled -Dgtk=enabled"
+hostmakedepends="meson flex glib-devel gettext pkg-config perl python3-sphinx_rtd_theme"
makedepends="capstone-devel dtc-devel libpng-devel libjpeg-turbo-devel pixman-devel
snappy-devel libuuid-devel libX11-devel alsa-lib-devel libaio-devel gnutls-devel
libsasl-devel ncurses-devel libseccomp-devel nss-devel
libcurl-devel xfsprogs-devel libcap-ng-devel vde2-devel usbredir-devel
libbluetooth-devel libssh2-devel libusb-devel libnfs-devel libslirp-devel
- libxkbcommon-devel libzstd-devel $(vopt_if sdl2 'SDL2-devel SDL2_image-devel')
- $(vopt_if gtk3 'gtk+3-devel vte3-devel')
- $(vopt_if spice 'spice-devel pcsclite-devel') $(vopt_if virgl virglrenderer-devel)
- $(vopt_if opengl 'libepoxy-devel libdrm-devel MesaLib-devel')
- $(vopt_if iscsi 'libiscsi-devel')
- $(vopt_if smartcard libcacard-devel) $(vopt_if numa 'libnuma-devel')
- $(vopt_if jack 'jack-devel') $(vopt_if pulseaudio 'pulseaudio-devel')"
-short_desc="Open Source Processor Emulator"
+ libxkbcommon-devel libzstd-devel SDL2-devel SDL2_image-devel gtk+3-devel
+ vte3-devel spice-devel pcsclite-devel virglrenderer-devel libepoxy-devel
+ libdrm-devel MesaLib-devel libiscsi-devel libcacard-devel libnuma-devel
+ jack-devel pulseaudio-devel"
+short_desc="Open source processor emulator"
maintainer="classabbyamp <void@placeviolette.net>"
license="GPL-2.0-only, LGPL-2.1-only"
homepage="https://www.qemu.org"
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
ignore_elf_dirs="/usr/share/qemu"
-nostrip_files="hppa-firmware.img hppa-firmware64.img openbios-ppc
- openbios-sparc32 openbios-sparc64 palcode-clipper s390-ccw.img
- s390-netboot.img u-boot.e500"
build_options="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
build_options_default="gtk3 iscsi jack numa opengl pulseaudio sdl2 smartcard spice virgl"
@@ -43,23 +37,183 @@ desc_option_smartcard="Enable smartcard support"
desc_option_numa="Enable support for host NUMA"
desc_option_iscsi="Enable support for iSCSI"
+subpackages="qemu-ga qemu-img qemu-tools qemu-firmware qemu-doc"
+depends="qemu-img>=${version}_${revision} qemu-tools>=${version}_${revision}
+ qemu-firmware>=${version}_${revision} qemu-doc>=${version}_${revision}
+ qemu-user>=${version}"
+
if [ "$CROSS_BUILD" ]; then
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
fi
-post_install() {
- vdoc "${FILESDIR}/README.voidlinux"
+_archs=(
+ aarch64
+ alpha
+ arm
+ avr
+ cris
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ or1k
+ ppc
+ ppc64
+ riscv32
+ riscv64
+ rx
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc64
+ tricore
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-system-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}_${revision}"
+
+ case "$_arch" in
+ aarch64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ alpha)
+ _extras="palcode-clipper"
+ ;;
+ arm)
+ _depends="qemu-firmware>=${version}_${revision}"
+ _extras="npcm7xx_bootrom.bin"
+ ;;
+ hppa)
+ _extras="hppa-firmware.img hppa-firmware64.img"
+ ;;
+ i386)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ ppc)
+ _extras="openbios-ppc u-boot.e500 u-boot-sam460-20100605.bin"
+ ;;
+ riscv32)
+ _extras="opensbi-riscv32-generic-fw_dynamic.bin"
+ ;;
+ riscv64)
+ _extras="opensbi-riscv64-generic-fw_dynamic.bin"
+ ;;
+ s390x)
+ _extras="s390-ccw.img s390-netboot.img"
+ ;;
+ sparc)
+ _extras="openbios-sparc32"
+ ;;
+ sparc64)
+ _extras="openbios-sparc64"
+ ;;
+ x86_64)
+ _depends="qemu-firmware>=${version}_${revision}"
+ ;;
+ esac
+ eval "${_pkgname}_package() {
+ _sys_tmpl '$_arch' '$_depends' '$_extras'
+ }"
+ unset _depends _extras
+done
+
+subpackages+=" qemu-common"
+
+. /void-packages/common/build-style/configure.sh
+
+_sys_tmpl() {
+ _arch="$1"
+ _depends="$2"
+ _extras="$3"
+ depends="qemu-common>=${version}_${revision} ${_depends}"
+ short_desc+=" - ${_arch} system emulator"
+ nostrip_files="${_extras}"
+ ignore_elf_dirs="/usr/share/qemu"
+ pkg_install() {
+ vmove "usr/bin/qemu-system-$_arch"
+ for f in $_extras; do
+ vmove "usr/share/qemu/$f"
+ done
+ }
+}
+
+post_install() {
# qemu-bridge-helper must be setuid for non privileged users.
chmod u+s ${DESTDIR}/usr/libexec/qemu-bridge-helper
-
vsv qemu-ga
}
+qemu-common_package() {
+ short_desc+=" - common files"
+ pkg_install() {
+ vmove usr/share
+ vmove usr/include
+ vmove usr/libexec
+ }
+}
+
qemu-ga_package() {
- short_desc="QEMU Guest Agent"
+ short_desc+=" - guest agent"
pkg_install() {
vmove usr/bin/qemu-ga
vmove etc/sv/qemu-ga
+ vmove usr/share/man/man7/qemu-ga-ref.7
+ vmove usr/share/man/man8/qemu-ga.8
+ }
+}
+
+qemu-img_package() {
+ short_desc+=" - tools for manipulating disk images"
+ pkg_install() {
+ for bin in qemu-{img,io,nbd,storage-daemon}; do
+ vmove "usr/bin/$bin"
+ done
+ vmove usr/share/man/man1/qemu-img.1
+ vmove usr/share/man/man1/qemu-storage-daemon.1
+ vmove usr/share/man/man7/qemu-storage-daemon-qmp-ref.7
+ vmove usr/share/man/man8/qemu-nbd.8
+ }
+}
+
+qemu-tools_package() {
+ short_desc+=" - support tools"
+ pkg_install() {
+ for bin in qemu-{edid,keymap,pr-helper} elf2dmp; do
+ vmove "usr/bin/$bin"
+ done
+ if [ -z "$CROSS_BUILD" ]; then
+ vmove "usr/bin/qemu-vmsr-helper"
+ fi
+ vmove usr/share/man/man8/qemu-pr-helper.8
+ }
+}
+
+qemu-firmware_package() {
+ short_desc+=" - EDK2 firmware files"
+ pkg_install() {
+ vmove usr/share/qemu/firmware
+ vmove "usr/share/qemu/edk2-*"
+ }
+}
+
+qemu-doc_package() {
+ short_desc+=" - documentation"
+ pkg_install() {
+ vmove usr/share/doc
}
}
From 39b5b6c908d9c9c54cba8b8089677a3e974890a6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 19:59:56 -0400
Subject: [PATCH 2/3] qemu-user-static: update to 9.1.0, split emulators,
rename to qemu-user
---
srcpkgs/qemu-user-aarch64 | 1 +
srcpkgs/qemu-user-aarch64_be | 1 +
srcpkgs/qemu-user-alpha | 1 +
srcpkgs/qemu-user-amd64 | 1 +
srcpkgs/qemu-user-arm | 1 +
srcpkgs/qemu-user-armeb | 1 +
srcpkgs/qemu-user-cris | 1 +
srcpkgs/qemu-user-hexagon | 1 +
srcpkgs/qemu-user-hppa | 1 +
srcpkgs/qemu-user-i386 | 1 +
srcpkgs/qemu-user-loongarch64 | 1 +
srcpkgs/qemu-user-m68k | 1 +
srcpkgs/qemu-user-microblaze | 1 +
srcpkgs/qemu-user-microblazeel | 1 +
srcpkgs/qemu-user-mips | 1 +
srcpkgs/qemu-user-mips64 | 1 +
srcpkgs/qemu-user-mips64el | 1 +
srcpkgs/qemu-user-mipsel | 1 +
srcpkgs/qemu-user-mipsn32 | 1 +
srcpkgs/qemu-user-mipsn32el | 1 +
srcpkgs/qemu-user-or1k | 1 +
srcpkgs/qemu-user-ppc | 1 +
srcpkgs/qemu-user-ppc64 | 1 +
srcpkgs/qemu-user-ppc64le | 1 +
srcpkgs/qemu-user-riscv32 | 1 +
srcpkgs/qemu-user-riscv64 | 1 +
srcpkgs/qemu-user-s390x | 1 +
srcpkgs/qemu-user-sh4 | 1 +
srcpkgs/qemu-user-sh4eb | 1 +
srcpkgs/qemu-user-sparc | 1 +
srcpkgs/qemu-user-sparc32plus | 1 +
srcpkgs/qemu-user-sparc64 | 1 +
srcpkgs/qemu-user-static | 1 +
srcpkgs/qemu-user-static/template | 41 -------
srcpkgs/qemu-user-xtensa | 1 +
srcpkgs/qemu-user-xtensaeb | 1 +
.../{qemu-user-static => qemu-user}/patches | 0
srcpkgs/qemu-user/template | 104 ++++++++++++++++++
.../{qemu-user-static => qemu-user}/update | 0
39 files changed, 139 insertions(+), 41 deletions(-)
create mode 120000 srcpkgs/qemu-user-aarch64
create mode 120000 srcpkgs/qemu-user-aarch64_be
create mode 120000 srcpkgs/qemu-user-alpha
create mode 120000 srcpkgs/qemu-user-amd64
create mode 120000 srcpkgs/qemu-user-arm
create mode 120000 srcpkgs/qemu-user-armeb
create mode 120000 srcpkgs/qemu-user-cris
create mode 120000 srcpkgs/qemu-user-hexagon
create mode 120000 srcpkgs/qemu-user-hppa
create mode 120000 srcpkgs/qemu-user-i386
create mode 120000 srcpkgs/qemu-user-loongarch64
create mode 120000 srcpkgs/qemu-user-m68k
create mode 120000 srcpkgs/qemu-user-microblaze
create mode 120000 srcpkgs/qemu-user-microblazeel
create mode 120000 srcpkgs/qemu-user-mips
create mode 120000 srcpkgs/qemu-user-mips64
create mode 120000 srcpkgs/qemu-user-mips64el
create mode 120000 srcpkgs/qemu-user-mipsel
create mode 120000 srcpkgs/qemu-user-mipsn32
create mode 120000 srcpkgs/qemu-user-mipsn32el
create mode 120000 srcpkgs/qemu-user-or1k
create mode 120000 srcpkgs/qemu-user-ppc
create mode 120000 srcpkgs/qemu-user-ppc64
create mode 120000 srcpkgs/qemu-user-ppc64le
create mode 120000 srcpkgs/qemu-user-riscv32
create mode 120000 srcpkgs/qemu-user-riscv64
create mode 120000 srcpkgs/qemu-user-s390x
create mode 120000 srcpkgs/qemu-user-sh4
create mode 120000 srcpkgs/qemu-user-sh4eb
create mode 120000 srcpkgs/qemu-user-sparc
create mode 120000 srcpkgs/qemu-user-sparc32plus
create mode 120000 srcpkgs/qemu-user-sparc64
create mode 120000 srcpkgs/qemu-user-static
delete mode 100644 srcpkgs/qemu-user-static/template
create mode 120000 srcpkgs/qemu-user-xtensa
create mode 120000 srcpkgs/qemu-user-xtensaeb
rename srcpkgs/{qemu-user-static => qemu-user}/patches (100%)
create mode 100644 srcpkgs/qemu-user/template
rename srcpkgs/{qemu-user-static => qemu-user}/update (100%)
diff --git a/srcpkgs/qemu-user-aarch64 b/srcpkgs/qemu-user-aarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-aarch64_be b/srcpkgs/qemu-user-aarch64_be
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-aarch64_be
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-alpha b/srcpkgs/qemu-user-alpha
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-alpha
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-amd64 b/srcpkgs/qemu-user-amd64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-amd64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-arm b/srcpkgs/qemu-user-arm
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-arm
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-armeb b/srcpkgs/qemu-user-armeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-armeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-cris b/srcpkgs/qemu-user-cris
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-cris
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hexagon b/srcpkgs/qemu-user-hexagon
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hexagon
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-hppa b/srcpkgs/qemu-user-hppa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-hppa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-i386 b/srcpkgs/qemu-user-i386
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-i386
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-loongarch64 b/srcpkgs/qemu-user-loongarch64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-loongarch64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-m68k b/srcpkgs/qemu-user-m68k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-m68k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblaze b/srcpkgs/qemu-user-microblaze
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblaze
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-microblazeel b/srcpkgs/qemu-user-microblazeel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-microblazeel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips b/srcpkgs/qemu-user-mips
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64 b/srcpkgs/qemu-user-mips64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mips64el b/srcpkgs/qemu-user-mips64el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mips64el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsel b/srcpkgs/qemu-user-mipsel
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsel
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32 b/srcpkgs/qemu-user-mipsn32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-mipsn32el b/srcpkgs/qemu-user-mipsn32el
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-mipsn32el
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-or1k b/srcpkgs/qemu-user-or1k
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-or1k
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc b/srcpkgs/qemu-user-ppc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64 b/srcpkgs/qemu-user-ppc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-ppc64le b/srcpkgs/qemu-user-ppc64le
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-ppc64le
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv32 b/srcpkgs/qemu-user-riscv32
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv32
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-riscv64 b/srcpkgs/qemu-user-riscv64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-riscv64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-s390x b/srcpkgs/qemu-user-s390x
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-s390x
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4 b/srcpkgs/qemu-user-sh4
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sh4eb b/srcpkgs/qemu-user-sh4eb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sh4eb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc b/srcpkgs/qemu-user-sparc
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc32plus b/srcpkgs/qemu-user-sparc32plus
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc32plus
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-sparc64 b/srcpkgs/qemu-user-sparc64
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-sparc64
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static b/srcpkgs/qemu-user-static
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-static
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template
deleted file mode 100644
index 8a365a19c14c7f..00000000000000
--- a/srcpkgs/qemu-user-static/template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Template file for 'qemu-user-static'
-# This package should be updated together with qemu
-pkgname=qemu-user-static
-version=9.0.2
-revision=2
-build_style=configure
-configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
- --disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
- --enable-linux-user --disable-system --static --disable-pie"
-hostmakedepends="flex glib-devel pkg-config perl python3 ninja"
-makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
-short_desc="QEMU User-mode emulators (statically compiled)"
-maintainer="classabbyamp <void@placeviolette.net>"
-license="GPL-2.0-only, LGPL-2.1-only"
-homepage="https://www.qemu.org"
-distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
-checksum=6fef38a497ff65f8d45c611b12ed5f5bb3e19ea6d76bfaea6857bf6fd76701e6
-
-if [ "$CROSS_BUILD" ]; then
- configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
-fi
-
-post_install() {
- # Remove unneeded stuff.
- rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
- for f in nbd io img; do
- rm -f ${DESTDIR}/usr/bin/qemu-${f}
- done
- for f in ${DESTDIR}/usr/bin/*; do
- mv ${f} ${f}-static
- done
-
- vmkdir usr/share/binfmts
- HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
- --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
- --preserve-argv0 yes --persistent yes --credential yes
- for bf in "${DESTDIR}"/usr/share/binfmts/*; do
- vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
- mv "$bf" "${bf}-static"
- done
-}
diff --git a/srcpkgs/qemu-user-xtensa b/srcpkgs/qemu-user-xtensa
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensa
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-xtensaeb b/srcpkgs/qemu-user-xtensaeb
new file mode 120000
index 00000000000000..62973fbc0559e9
--- /dev/null
+++ b/srcpkgs/qemu-user-xtensaeb
@@ -0,0 +1 @@
+qemu-user
\ No newline at end of file
diff --git a/srcpkgs/qemu-user-static/patches b/srcpkgs/qemu-user/patches
similarity index 100%
rename from srcpkgs/qemu-user-static/patches
rename to srcpkgs/qemu-user/patches
diff --git a/srcpkgs/qemu-user/template b/srcpkgs/qemu-user/template
new file mode 100644
index 00000000000000..e66f3d629778aa
--- /dev/null
+++ b/srcpkgs/qemu-user/template
@@ -0,0 +1,104 @@
+# Template file for 'qemu-user'
+# This package should be updated together with qemu
+pkgname=qemu-user
+version=9.1.0
+revision=1
+build_style=meta
+configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
+ --enable-linux-user --disable-system
+ -Dkvm=disabled -Dpng=disabled -Dvirtfs=disabled -Dfdt=disabled -Dseccomp=disabled
+ -Dtools=disabled"
+hostmakedepends="meson flex glib-devel pkg-config perl"
+makedepends="dtc-devel glib-devel pixman-devel libuuid-devel"
+short_desc="QEMU user-mode emulators"
+maintainer="classabbyamp <void@placeviolette.net>"
+license="GPL-2.0-only, LGPL-2.1-only"
+homepage="https://www.qemu.org"
+distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
+checksum=a61859004b531189f28245edaf4ce7fd96402594a33c67f27bf0383fb6e83cb3
+subpackages="qemu-user-static"
+
+if [ "$CROSS_BUILD" ]; then
+ configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
+fi
+
+_archs=(
+ aarch64
+ aarch64_be
+ alpha
+ arm
+ armeb
+ cris
+ hexagon
+ hppa
+ i386
+ loongarch64
+ m68k
+ microblaze
+ microblazeel
+ mips
+ mips64
+ mips64el
+ mipsel
+ mipsn32
+ mipsn32el
+ or1k
+ ppc
+ ppc64
+ ppc64le
+ riscv32
+ riscv64
+ s390x
+ sh4
+ sh4eb
+ sparc
+ sparc32plus
+ sparc64
+ x86_64
+ xtensa
+ xtensaeb
+)
+
+for _arch in "${_archs[@]}"; do
+ # bug in xbps: it hates package names ending in _N
+ _pkgname="qemu-user-${_arch//x86_64/amd64}"
+
+ subpackages+=" ${_pkgname}"
+ depends+=" ${_pkgname}>=${version}"
+
+ eval "${_pkgname}_package() {
+ _user_tmpl '$_arch'
+ }"
+done
+
+. /void-packages/common/build-style/configure.sh
+
+_user_tmpl() {
+ _arch="$1"
+ _binfmt="$2"
+ short_desc="QEMU ${_arch} user-mode emulator"
+ pkg_install() {
+ vmove "usr/bin/qemu-$_arch"
+ vmove "usr/bin/qemu-$_arch-static"
+ vmove "usr/share/binfmts/qemu-$_arch" || :
+ }
+}
+
+post_install() {
+ # provided by qemu
+ rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec ${DESTDIR}/usr/include
+ for f in ${DESTDIR}/usr/bin/*; do
+ ln -s ${f##*/} ${f}-static
+ done
+
+ vmkdir usr/share/binfmts
+ HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" scripts/qemu-binfmt-conf.sh --debian \
+ --exportdir "${DESTDIR}"/usr/share/binfmts --qemu-path /usr/bin \
+ --preserve-argv0 yes --persistent yes --credential yes
+}
+
+qemu-user-static_package() {
+ build_style=meta
+ short_desc+=" (transitional dummy package)"
+ depends="${sourcepkg}>=${version}_${revision}"
+}
diff --git a/srcpkgs/qemu-user-static/update b/srcpkgs/qemu-user/update
similarity index 100%
rename from srcpkgs/qemu-user-static/update
rename to srcpkgs/qemu-user/update
From 2cb206337ee93bbb7de03da16cee1aa2481c65d8 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Mon, 12 Aug 2024 20:04:22 -0400
Subject: [PATCH 3/3] *: qemu-user-static -> qemu-user
---
common/build-helper/gir.sh | 2 +-
common/build-helper/qemu.sh | 4 ++--
srcpkgs/aravis/template | 2 +-
srcpkgs/glib-bootstrap/template | 2 +-
srcpkgs/glib/template | 2 +-
srcpkgs/gobject-introspection-bootstrap/template | 2 +-
srcpkgs/gobject-introspection/template | 2 +-
srcpkgs/libgpg-error/template | 2 +-
srcpkgs/libportal/template | 2 +-
srcpkgs/php8.2/template | 2 +-
srcpkgs/php8.3/template | 2 +-
srcpkgs/umockdev/template | 2 +-
xbps-src | 2 +-
13 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/common/build-helper/gir.sh b/common/build-helper/gir.sh
index 70699adb179732..e4ecd4f18af485 100644
--- a/common/build-helper/gir.sh
+++ b/common/build-helper/gir.sh
@@ -17,7 +17,7 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
- hostmakedepends+=" qemu-user-static"
+ hostmakedepends+=" qemu-user"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"
diff --git a/common/build-helper/qemu.sh b/common/build-helper/qemu.sh
index d6a4342f5e8ee3..f5c5658510102d 100644
--- a/common/build-helper/qemu.sh
+++ b/common/build-helper/qemu.sh
@@ -1,7 +1,7 @@
if [ "$CROSS_BUILD" ]; then
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
- if [[ $hostmakedepends != *"qemu-user-static"* ]]; then
- hostmakedepends+=" qemu-user-static"
+ if [[ $hostmakedepends != *"qemu-user"* ]]; then
+ hostmakedepends+=" qemu-user"
fi
fi
diff --git a/srcpkgs/aravis/template b/srcpkgs/aravis/template
index cbcc7ea10d5ae7..33709983cc8bd7 100644
--- a/srcpkgs/aravis/template
+++ b/srcpkgs/aravis/template
@@ -18,7 +18,7 @@ checksum=d70b125666b23ca4c0f8986fa0786a3d2b9efb7a56b558b703083cdfaa793f4e
make_check=ci-skip
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" glib-devel prelink-cross qemu-user-static"
+ hostmakedepends+=" glib-devel prelink-cross qemu-user"
fi
libaravis_package() {
diff --git a/srcpkgs/glib-bootstrap/template b/srcpkgs/glib-bootstrap/template
index 6693c4981387e8..62db4db27924f2 100644
--- a/srcpkgs/glib-bootstrap/template
+++ b/srcpkgs/glib-bootstrap/template
@@ -7,7 +7,7 @@ pkgname=glib-bootstrap
version=2.80.3
revision=1
build_style=meson
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled
--default-library=both -Db_lto=false -Dintrospection=disabled"
diff --git a/srcpkgs/glib/template b/srcpkgs/glib/template
index c3cf007b7d3677..548dc0f3d17557 100644
--- a/srcpkgs/glib/template
+++ b/srcpkgs/glib/template
@@ -5,7 +5,7 @@ version=2.80.3
revision=1
build_style=meson
build_helper=qemu
-# static version is necessary for qemu-user-static;
+# static version is necessary for qemu-user
# also disable LTO, otherwise there are multiple failures when linking qemu
configure_args="-Dman=true -Dselinux=disabled -Dintrospection=enabled
$(vopt_bool gtk_doc documentation) --default-library=both -Db_lto=false"
diff --git a/srcpkgs/gobject-introspection-bootstrap/template b/srcpkgs/gobject-introspection-bootstrap/template
index 8ca0cc1fcdf7ee..566d9e307c4ea9 100644
--- a/srcpkgs/gobject-introspection-bootstrap/template
+++ b/srcpkgs/gobject-introspection-bootstrap/template
@@ -27,7 +27,7 @@ conflicts="libgirepository libgirepository-devel gobject-introspection"
noverifyrdeps=yes
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection-bootstrap qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection-bootstrap qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/gobject-introspection/template b/srcpkgs/gobject-introspection/template
index b4da5f12023f31..4a8810a95238fa 100644
--- a/srcpkgs/gobject-introspection/template
+++ b/srcpkgs/gobject-introspection/template
@@ -20,7 +20,7 @@ checksum=a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8
python_version=3
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static prelink-cross"
+ hostmakedepends+=" gobject-introspection qemu-user prelink-cross"
configure_args+=" -Dgi_cross_use_prebuilt_gi=true
-Dgi_cross_binary_wrapper=/usr/bin/g-ir-scanner-qemuwrapper
-Dgi_cross_ldd_wrapper=/usr/bin/g-ir-scanner-lddwrapper
diff --git a/srcpkgs/libgpg-error/template b/srcpkgs/libgpg-error/template
index 57f80c5e2ab8df..3c76989aa855d5 100644
--- a/srcpkgs/libgpg-error/template
+++ b/srcpkgs/libgpg-error/template
@@ -12,7 +12,7 @@ distfiles="https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${version}.tar
checksum=8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
if [ "$CROSS_BUILD" ]; then
- hostmakedepends="qemu-user-static"
+ hostmakedepends="qemu-user"
fi
post_install() {
diff --git a/srcpkgs/libportal/template b/srcpkgs/libportal/template
index c25d354e5afae0..bff7620ea3b7ac 100644
--- a/srcpkgs/libportal/template
+++ b/srcpkgs/libportal/template
@@ -22,7 +22,7 @@ build_options="gir gtk_doc"
build_options_default="gir gtk_doc"
if [ -n "$CROSS_BUILD" ]; then
- hostmakedepends+=" qemu-user-static prelink-cross"
+ hostmakedepends+=" qemu-user prelink-cross"
fi
libportal-devel_package() {
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 50e6c851b1c2f5..fe9559e181f2c8 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index f95ee61e305959..ede31751655581 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -27,7 +27,7 @@ lib32disabled=yes
if [ -n "$CROSS_BUILD" ]; then
# phar and pear need php to build
- hostmakedepends+=" php${_php_version} qemu-user-static"
+ hostmakedepends+=" php${_php_version} qemu-user"
CFLAGS+=" -DHAVE_LIBDL
-DHAVE_DLOPEN
-DHAVE_DLSYM
diff --git a/srcpkgs/umockdev/template b/srcpkgs/umockdev/template
index 7dc2f512695888..4dc52e13c94fa0 100644
--- a/srcpkgs/umockdev/template
+++ b/srcpkgs/umockdev/template
@@ -14,7 +14,7 @@ distfiles="https://github.com/martinpitt/umockdev/releases/download/${version}/u
checksum=6c6ebf6e6209b6a49746e0d91a448d027b54271bab82ed70a132ecf294ca13cf
if [ "$CROSS_BUILD" ]; then
- hostmakedepends+=" gobject-introspection qemu-user-static"
+ hostmakedepends+=" gobject-introspection qemu-user"
fi
umockdev-devel_package() {
diff --git a/xbps-src b/xbps-src
index f8c21b3b92738d..00e955fe8168b7 100755
--- a/xbps-src
+++ b/xbps-src
@@ -166,7 +166,7 @@ Options:
-A <host>
Use this host machine. Automatically creates masterdir-<host> if it doesn't
- already exist. Some host machines may require qemu-user-static and
+ already exist. Some host machines may require qemu-user and
binfmt-support if not natively supported by the processor. Supported hosts:
$(print_cross_targets)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PR PATCH] [Merged]: [RFC] qemu: update to 9.1.0, split
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
` (11 preceding siblings ...)
2024-09-08 13:27 ` classabbyamp
@ 2024-09-08 23:40 ` classabbyamp
12 siblings, 0 replies; 14+ messages in thread
From: classabbyamp @ 2024-09-08 23:40 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 254 bytes --]
There's a merged pull request on the void-packages repository
[RFC] qemu: update to 9.1.0, split
https://github.com/void-linux/void-packages/pull/51814
Description:
fixes #51804
#### Testing the changes
- I tested the changes in this PR: **YES**
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-09-08 23:40 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-13 1:35 [PR PATCH] [RFC] qemu: split classabbyamp
2024-08-14 9:40 ` [PR REVIEW] " classabbyamp
2024-08-14 9:40 ` classabbyamp
2024-08-14 18:37 ` [PR PATCH] [Updated] " classabbyamp
2024-08-14 18:50 ` classabbyamp
2024-08-15 12:23 ` classabbyamp
2024-08-19 5:53 ` classabbyamp
2024-08-19 9:01 ` classabbyamp
2024-08-23 3:54 ` classabbyamp
2024-09-05 6:07 ` [PR PATCH] [Updated] " classabbyamp
2024-09-07 11:27 ` [PR PATCH] [Updated] [RFC] qemu: update to 9.1.0, split classabbyamp
2024-09-08 1:59 ` classabbyamp
2024-09-08 13:27 ` classabbyamp
2024-09-08 23:40 ` [PR PATCH] [Merged]: " classabbyamp
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).