qemu-apple-t8030-git

LOW
maintainer Grakul 0 votes scanned 2026-10-25 21:43:05.033624
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: Eugene Flanagin <eflanagin@pm.me>
2#
3# Credits:
4# Inferno (QEMU fork with Apple t8030 / iPhone 11 support): ChefKiss and
5# contributors, https://github.com/ChefKissInc/Inferno (GPL-3.0 / AGPL-3.0)
6# Unofficial build: the ChefKiss artwork and name are removed as their
7# branding notice (ui/icons/CKBrandingNotice.md) requires.
8# QEMU: the QEMU project, https://www.qemu.org
9# mlib: Patrick Pelissier, https://github.com/P-p-H-d/mlib (BSD-2-Clause)
10# Patches, launcher and packaging:
11# https://github.com/eugenesflanagin-spec/ios-emu-linux (MIT)
12# No Apple firmware, keys or images are included or downloaded by this package.
13
14pkgname=qemu-apple-t8030-git
15_pkg=qemu-apple-t8030
16_src=t8030-src
17pkgver=1.0.0rc1.r125695.gcc4302a991
18pkgrel=1
19pkgdesc="QEMU fork with Apple t8030 (iPhone 11 / A13) guest support, based on ChefKissInc/Inferno (unofficial build, no firmware included)"
20arch=('x86_64')
21url="https://github.com/ChefKissInc/Inferno"
22# Upstream: GPL-3.0 for the QEMU-derived code, AGPL-3.0 for the fork's own code
23# (see LICENSE); launcher scripts in this package: MIT.
24license=('GPL-3.0-only' 'AGPL-3.0-only' 'MIT')
25depends=('alsa-lib' 'bzip2' 'cairo' 'dtc' 'gdk-pixbuf2' 'glib2' 'glibc' 'gnutls'
26 'gtk3' 'keyutils' 'libaio' 'libcap-ng' 'libepoxy' 'libgcc' 'libjpeg-turbo'
27 'libpipewire' 'libpng' 'libpulse' 'libsasl' 'libseccomp' 'libslirp'
28 'liburing' 'libusb' 'libx11' 'libxkbcommon' 'mesa' 'ncurses' 'nettle'
29 'pixman' 'sdl2' 'sdl2_image' 'systemd-libs' 'vte3' 'zlib' 'zstd'
30 'libtasn1' 'libatomic' 'gmp' 'hicolor-icon-theme' 'bash' 'python')
31makedepends=('git' 'meson' 'ninja' 'lzfse')
32optdepends=('kdotool: centre the window on the primary monitor (KDE Plasma)'
33 'plasma-workspace: kscreen-doctor, for finding the primary monitor'
34 'imagemagick: qemu-apple-t8030-set-boot-splash'
35 'kdialog: show setup errors when started from the menu')
36provides=("$_pkg")
37conflicts=("$_pkg")
38options=('!lto' '!debug')
39source=("$_src::git+https://github.com/ChefKissInc/Inferno.git#branch=master"
40 'mlib::git+https://github.com/P-p-H-d/mlib.git'
41 'keycodemapdb::git+https://gitlab.com/qemu-project/keycodemapdb.git'
42 '0001-mt-spi-middle-click-home.patch'
43 '0002-boot-splash-env-override.patch'
44 'boot-splash.png'
45 'qemu-apple-t8030'
46 'qemu-apple-t8030-set-boot-splash'
47 'qemu-apple-t8030.desktop'
48 'qemu-apple-t8030.svg'
49 'vm-args.example.sh'
50 'README.md'
51 'LICENSE.MIT')
52sha256sums=('SKIP'
53 'SKIP'
54 'SKIP'
55 '8a469e2889789e401ea13656f95323e089069dfc073bc26ce0f8f57f0eab623a'
56 '9625d6d2a696a87aa08c9342f624291d29b437e30b8c466819744d985ada1832'
57 'df876dcce5a82082063d42c4da59b47f3645f2db87e675c8dac506f935b579fc'
58 'd3baaedf3f7be7e9bef5bf5f4f1e8b2f49ed7fe0b39a0bd84e591c983b82e6b8'
59 'ece23571c47042fe41266f7a8daebd340e6e5b404b903d4a143324e361822847'
60 '77fe357013895fab4c593c220cbcddc19c53fc8cff6ec49f4e1f5fea553589ec'
61 'a3aa500e5f9f7a0b46651fc23ac3f0b2567ce1c35865302e5ec67540913e6130'
62 'f7f548e0d5f6077c616ba95a9339526473825f118e15e560786c4d761f73b142'
63 '723965a296689872cc9bb308d6334312af1bcfac07ce7414aafc38bad1442a75'
64 '3c44a18225aa372bf686cdce8bf44615916a8450af76a409485726cf81037211')
65
66pkgver() {
67 cd "$_src"
68 local _v
69 _v=$(sed -E 's/^[^-]*-([^_]*)_.*/\1/' VERSION)
70 printf "%s.r%s.g%s" "$_v" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
71}
72
73prepare() {
74 cd "$_src"
75
76 # Submodule util/mlib is required; the ROM submodules are not.
77 git submodule init util/mlib
78 git config submodule.util/mlib.url "$srcdir/mlib"
79 git -c protocol.file.allow=always submodule update util/mlib
80
81 # Meson subproject keycodemapdb, at the revision the wrap file pins
82 # (configure runs with --disable-download, so nothing is fetched at build time).
83 local _rev
84 _rev=$(sed -n 's/^revision *= *//p' subprojects/keycodemapdb.wrap)
85 git -C "$srcdir/keycodemapdb" checkout -q "$_rev"
86 rm -rf subprojects/keycodemapdb
87 cp -a "$srcdir/keycodemapdb" subprojects/keycodemapdb
88
89 patch -Np1 -i "$srcdir/0001-mt-spi-middle-click-home.patch"
90 patch -Np1 -i "$srcdir/0002-boot-splash-env-override.patch"
91
92 # Branding (ui/icons/CKBrandingNotice.md): unofficial builds must not ship the
93 # upstream splash artwork or use the upstream project name.
94 install -m644 "$srcdir/boot-splash.png" 'ui/icons/CKQEMUBootSplash_512x512@2x.png'
95 sed -i 's/ChefKiss Inferno/QEMU t8030/g' \
96 ui/gtk.c ui/sdl2.c ui/vnc.c ui/dbus.c ui/spice-core.c ui/cocoa.m version.rc
97 sed -i 's|"ChefKiss Inferno\\n"|"QEMU t8030, unofficial build based on Inferno (github.com/ChefKissInc/Inferno)\\n"|' \
98 system/vl.c
99 sed -i 's/^ChefKissInferno-/t8030-/' VERSION
100 if grep -n 'ChefKiss Inferno\|ChefKissInferno' VERSION system/vl.c ui/*.c ui/*.m version.rc; then
101 echo "upstream branding still present in user-visible strings" >&2
102 return 1
103 fi
104}
105
106build() {
107 cd "$_src"
108 export CC=gcc CXX=g++
109 # Keep -Ddebug=true (--enable-debug-info): debug=false adds -DNDEBUG, which
110 # compiles out code inside upstream's assert_cmp* macros and breaks restores.
111 ./configure \
112 --prefix=/opt/$_pkg \
113 --target-list=aarch64-softmmu \
114 --cc=gcc --cxx=g++ \
115 --disable-download \
116 --enable-debug-info \
117 --with-pkgversion="$pkgname $pkgver" \
118 --enable-lzfse --enable-png --enable-zstd --enable-slirp \
119 --enable-gtk --enable-sdl --enable-opengl --enable-curses \
120 --enable-gnutls --enable-nettle \
121 --enable-pa --enable-pipewire --enable-alsa \
122 --disable-guest-agent --disable-install-blobs \
123 --disable-glusterfs --disable-libiscsi --disable-libnfs --disable-rbd \
124 --disable-curl --disable-libssh --disable-blkio --disable-fuse --disable-fuse-lseek \
125 --disable-spice --disable-virglrenderer --disable-rutabaga-gfx \
126 --disable-vde --disable-rdma --disable-numa --disable-mpath --disable-libpmem \
127 --disable-libdaxctl --disable-usb-redir --disable-smartcard --disable-u2f \
128 --disable-brlapi --disable-jack --disable-sndio --disable-oss --disable-xen \
129 --disable-lzo --disable-snappy --disable-af-xdp --disable-bpf \
130 --disable-auth-pam --disable-libdw --disable-valgrind --disable-selinux \
131 --disable-werror --disable-qom-cast-debug
132 if grep -q -- '-DNDEBUG' build/compile_commands.json; then
133 echo "NDEBUG is set; this build would be broken (see comment above)" >&2
134 return 1
135 fi
136 # ninja ignores MAKEFLAGS; pass its -j on
137 ninja -C build $(grep -oE -- '-j *[0-9]+' <<<"${MAKEFLAGS:-}" | tr -d ' ')
138}
139
140package() {
141 cd "$_src"
142 DESTDIR="$pkgdir" ninja -C build install
143 # upstream's generic QEMU menu entry; this package installs its own
144 rm -rf "$pkgdir/opt/$_pkg/share/applications"
145
146 install -Dm755 "$srcdir/qemu-apple-t8030" "$pkgdir/usr/bin/qemu-apple-t8030"
147 install -Dm755 "$srcdir/qemu-apple-t8030-set-boot-splash" \
148 "$pkgdir/usr/bin/qemu-apple-t8030-set-boot-splash"
149 install -Dm644 "$srcdir/qemu-apple-t8030.desktop" \
150 "$pkgdir/usr/share/applications/qemu-apple-t8030.desktop"
151 install -Dm644 "$srcdir/qemu-apple-t8030.svg" \
152 "$pkgdir/usr/share/icons/hicolor/scalable/apps/qemu-apple-t8030.svg"
153
154 install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" \
155 "$srcdir/README.md" "$srcdir/vm-args.example.sh"
156 install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" \
157 LICENSE COPYING COPYING_GPL-3.0 COPYING_AGPL-3.0 ui/icons/CKBrandingNotice.md \
158 "$srcdir/LICENSE.MIT"
159}
160

Scan history

Scanned at (UTC)SeverityRules
2026-10-25 21:43:05 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion