qemu-ios-ipod-git
LOW
maintainer Grakul
0 votes
scanned 2026-10-25 21:43:05.033624
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
# qemu-ios (iPod touch 1G / N45AP emulation): Martijn de Vos (devos50) and
5
# contributors, https://github.com/devos50/qemu-ios (GPL-2.0)
6
# QEMU: the QEMU project, https://www.qemu.org
7
# Launcher, QMP helper and packaging: https://github.com/eugenesflanagin-spec/ios-emu-linux (MIT)
8
# No Apple firmware is included or downloaded by this package.
9
10
pkgname=qemu-ios-ipod-git
11
_pkgname=qemu-ios
12
pkgver=6.2.50.r92578.g501c85c
13
pkgrel=1
14
pkgdesc='iPod touch 1st generation (iPhoneOS 1.0) emulator based on the qemu-ios QEMU fork (system files not included)'
15
arch=(x86_64)
16
url='https://github.com/devos50/qemu-ios'
17
# QEMU itself is GPL-2.0-only as a whole (see LICENSE point 1);
18
# the launcher, QMP helper and .desktop file are MIT.
19
license=(GPL-2.0-only MIT)
20
depends=(
21
bash
22
dtc
23
glib2
24
glibc
25
hicolor-icon-theme
26
libgcc
27
libstdc++
28
openssl
29
pixman
30
python
31
sdl2-compat
32
unzip
33
zlib
34
)
35
makedepends=(
36
git
37
meson
38
ninja
39
)
40
optdepends=('libnotify: desktop notice when the system files are missing')
41
provides=(qemu-ios-ipod)
42
conflicts=(qemu-ios-ipod)
43
# The proven build of this QEMU 6.2-era tree is without LTO.
44
options=(!lto !debug)
45
source=(
46
"$_pkgname::git+https://github.com/devos50/qemu-ios.git#branch=ipod_touch_1g"
47
'keycodemapdb::git+https://gitlab.com/qemu-project/keycodemapdb.git'
48
'berkeley-softfloat-3::git+https://gitlab.com/qemu-project/berkeley-softfloat-3.git'
49
'berkeley-testfloat-3::git+https://gitlab.com/qemu-project/berkeley-testfloat-3.git'
50
0001-keymaps-use-shipped-files.patch
51
ipod-touch-qemu
52
ipod-input.py
53
ipod-touch-qemu.desktop
54
LICENSE.MIT
55
)
56
sha256sums=('SKIP'
57
'SKIP'
58
'SKIP'
59
'SKIP'
60
'e9e97c52fea8b29db84703f1d948174577ba4c042a11a932c798c1d30e4e6992'
61
'c26faf39bba9ff2b77d96a9f6d1c517361c0ad9d5f1a037459d4d57985d61bd0'
62
'c91f9cf1e1f860d3dddb29d6e465f5c487fa0150f9dad1d5e9b929b31043a7fa'
63
'31ec52ccf02bf1c2521f1d15d6c035013d1d594ad0c01ca65a8f0e480f975719'
64
'3c44a18225aa372bf686cdce8bf44615916a8450af76a409485726cf81037211')
65
66
_prefix=/opt/qemu-ios-ipod
67
68
pkgver() {
69
cd "$_pkgname"
70
printf '%s.r%s.g%s' "$(cat VERSION)" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
71
}
72
73
prepare() {
74
cd "$_pkgname"
75
local _sm
76
for _sm in ui/keycodemapdb:keycodemapdb \
77
tests/fp/berkeley-softfloat-3:berkeley-softfloat-3 \
78
tests/fp/berkeley-testfloat-3:berkeley-testfloat-3; do
79
git submodule init "${_sm%%:*}"
80
git config "submodule.${_sm%%:*}.url" "$srcdir/${_sm#*:}"
81
git -c protocol.file.allow=always submodule update "${_sm%%:*}"
82
done
83
84
# Copy the shipped keymaps instead of regenerating them with a system
85
# qemu-keymap, which fails on current xkeyboard-config.
86
patch -Np1 -i ../0001-keymaps-use-shipped-files.patch
87
}
88
89
build() {
90
# This tree does not build with clang; force gcc even if CC is set globally.
91
export CC=gcc CXX=g++
92
93
mkdir -p "$_pkgname/build"
94
cd "$_pkgname/build"
95
../configure \
96
--prefix="$_prefix" \
97
--cc=gcc --cxx=g++ --host-cc=gcc \
98
--with-git-submodules=ignore \
99
--without-default-features \
100
--target-list=arm-softmmu \
101
--enable-sdl \
102
--enable-tcg \
103
--enable-fdt=system \
104
--enable-pie \
105
--disable-capstone \
106
--disable-slirp \
107
--disable-cocoa \
108
--disable-werror \
109
--disable-blobs \
110
--extra-cflags='-I/usr/include/openssl -Wno-error=int-conversion -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration' \
111
--extra-ldflags='-lcrypto'
112
make
113
}
114
115
package() {
116
cd "$_pkgname"
117
make -C build DESTDIR="$pkgdir" install
118
119
# Launcher and QMP helper
120
install -Dm755 ../ipod-touch-qemu "$pkgdir/usr/bin/ipod-touch-qemu"
121
install -Dm755 ../ipod-input.py "$pkgdir$_prefix/libexec/ipod-input.py"
122
ln -s "$_prefix/libexec/ipod-input.py" "$pkgdir/usr/bin/ipod-touch-qmp"
123
124
# Menu entry and icon (the QEMU logo shipped in the source tree)
125
install -Dm644 ../ipod-touch-qemu.desktop "$pkgdir/usr/share/applications/ipod-touch-qemu.desktop"
126
local _s
127
for _s in 16 24 32 48 64 128 256 512; do
128
install -Dm644 "ui/icons/qemu_${_s}x${_s}.png" \
129
"$pkgdir/usr/share/icons/hicolor/${_s}x${_s}/apps/qemu-ios-ipod.png"
130
done
131
install -Dm644 ui/icons/qemu.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/qemu-ios-ipod.svg"
132
133
# Drop the generic QEMU .desktop from the private prefix (the icons there
134
# stay: the SDL UI loads share/icons/hicolor/32x32/apps/qemu.bmp as window icon).
135
rm -rf "$pkgdir$_prefix/share/applications"
136
137
# Licenses
138
install -Dm644 LICENSE COPYING COPYING.LIB -t "$pkgdir/usr/share/licenses/$pkgname/"
139
install -Dm644 ../LICENSE.MIT "$pkgdir/usr/share/licenses/$pkgname/LICENSE.MIT"
140
}
141
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-25 21:43:05 | Low | 1 |