summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakamichi Horikawa2023-07-05 20:47:15 +0900
committerTakamichi Horikawa2023-07-05 20:52:00 +0900
commitda4427ce3192ca93b4794136905b7944df64ec30 (patch)
treecc9b580e791fece97dae7c7d1eca36eb0db96394
parent6a77c32f46aac64b5cd436c4e4ccf3c3fb3b79c2 (diff)
downloadaur-da4427ce3192ca93b4794136905b7944df64ec30.tar.gz
- 5890258aee: removal of internal libslirp changed configure option
- d66ba6dc1c: fix gcc13 dangling pointer warning (included as a patch for now)
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD22
-rw-r--r--suppress-gcc13-warning.patch26
3 files changed, 46 insertions, 10 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 592782a011e6..2243f82a9668 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = qemu-screamer-git
pkgdesc = QEMU PowerPC with sound support for Macintosh emulation
- pkgver = r96011.c108debd27
- pkgrel = 2
+ pkgver = r99787.448771a270
+ pkgrel = 1
url = https://github.com/mcayland/qemu/tree/screamer
arch = x86_64
license = GPL2
@@ -12,7 +12,11 @@ pkgbase = qemu-screamer-git
depends = libpulse
depends = vte3
depends = libslirp
+ depends = dtc
+ optdepends = qemu-common: for qemu-bridge-helper
source = git+https://github.com/mcayland/qemu.git#branch=screamer
+ source = suppress-gcc13-warning.patch
sha256sums = SKIP
+ sha256sums = 6fe10a16301cb3e18aff8ff40e2b24b2cc91cfe523f5ccbdd3d7264a043dfbeb
pkgname = qemu-screamer-git
diff --git a/PKGBUILD b/PKGBUILD
index ddb14162d93d..39d13ff99dd5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,15 +1,18 @@
# Maintainer: myon <myon@myon98.net>
pkgname=qemu-screamer-git
-pkgver=r96011.c108debd27
-pkgrel=2
+pkgver=r99787.448771a270
+pkgrel=1
pkgdesc="QEMU PowerPC with sound support for Macintosh emulation"
arch=('x86_64')
url='https://github.com/mcayland/qemu/tree/screamer'
license=('GPL2')
-depends=('sdl2' 'libpulse' 'vte3' 'libslirp')
+depends=('sdl2' 'libpulse' 'vte3' 'libslirp' 'dtc')
makedepends=('git' 'python' 'ninja')
-source=('git+https://github.com/mcayland/qemu.git#branch=screamer')
-sha256sums=('SKIP')
+optdepends=('qemu-common: for qemu-bridge-helper')
+source=('git+https://github.com/mcayland/qemu.git#branch=screamer'
+ 'suppress-gcc13-warning.patch')
+sha256sums=('SKIP'
+ '6fe10a16301cb3e18aff8ff40e2b24b2cc91cfe523f5ccbdd3d7264a043dfbeb')
pkgver() {
cd qemu
@@ -18,7 +21,9 @@ pkgver() {
prepare() {
# git submodules?
- mkdir build
+ mkdir -p build
+ cd qemu
+ patch -Np1 -i "${srcdir}/suppress-gcc13-warning.patch"
}
build() {
@@ -31,15 +36,16 @@ build() {
--audio-drv-list=pa,sdl \
--without-default-features \
--enable-pa --enable-gtk --enable-sdl --enable-vte \
- --enable-slirp=system --enable-avx2
+ --enable-slirp --enable-avx2
make
}
package() {
- cd build
+ cd "${srcdir}/build"
install -d "${pkgdir}/usr/bin"
install qemu-system-ppc "${pkgdir}/usr/bin/qemuscreamer-system-ppc"
install -d "${pkgdir}/usr/share/qemuscreamer"
+ cd "${srcdir}/qemu"
install -m644 pc-bios/openbios-ppc "${pkgdir}/usr/share/qemuscreamer/"
install -m644 pc-bios/vgabios-stdvga.bin "${pkgdir}/usr/share/qemuscreamer/"
install -m644 pc-bios/qemu_vga.ndrv "${pkgdir}/usr/share/qemuscreamer/"
diff --git a/suppress-gcc13-warning.patch b/suppress-gcc13-warning.patch
new file mode 100644
index 000000000000..5d0b95248b2b
--- /dev/null
+++ b/suppress-gcc13-warning.patch
@@ -0,0 +1,26 @@
+diff --git a/util/async.c b/util/async.c
+index 21016a1ac7..856e1a8a33 100644
+--- a/util/async.c
++++ b/util/async.c
+@@ -164,7 +164,21 @@ int aio_bh_poll(AioContext *ctx)
+
+ /* Synchronizes with QSLIST_INSERT_HEAD_ATOMIC in aio_bh_enqueue(). */
+ QSLIST_MOVE_ATOMIC(&slice.bh_list, &ctx->bh_list);
++
++ /*
++ * GCC13 [-Werror=dangling-pointer=] complains that the local variable
++ * 'slice' is being stored in the global 'ctx->bh_slice_list' but the
++ * list is emptied before this function returns.
++ */
++#if !defined(__clang__)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wpragmas"
++#pragma GCC diagnostic ignored "-Wdangling-pointer="
++#endif
+ QSIMPLEQ_INSERT_TAIL(&ctx->bh_slice_list, &slice, next);
++#if !defined(__clang__)
++#pragma GCC diagnostic pop
++#endif
+
+ while ((s = QSIMPLEQ_FIRST(&ctx->bh_slice_list))) {
+ QEMUBH *bh;