From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [RFC] qemu: split
Date: Thu, 05 Sep 2024 08:07:17 +0200 [thread overview]
Message-ID: <20240905060717.7A0692E94C@inbox.vuxu.org> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-51814@inbox.vuxu.org>
[-- 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)
next prev parent reply other threads:[~2024-09-05 6:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-13 1:35 [PR PATCH] " 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 ` classabbyamp [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240905060717.7A0692E94C@inbox.vuxu.org \
--to=classabbyamp@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).