blob: 56e51c5f28766559eac7d3ac01915702f50a1deb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# Maintainer (aur): crab2313 <crab2313@gmail.com>
# Contributor: Stefan Agner <stefan@agner.ch>
# Maintainer: Luke Shumaker <lukeshu@parabola.nu>
# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: bill-auger <bill-auger@programmer.net>
# "Do I need to rebuild?" : A flowchart
#
# ,--> pixman-static ------------------------------------,
# | 0.34.0-1.static2 |
# qemu-user-static --+------------------------+----> pcre-static -----------+--> glibc
# 2.12.0-1.static1 | | 8.42-1.static1 | 2.27-3
# `--> glib2-static -------+----> libffi-static ---------+
# 2.56.1-1.static1 | 3.2.1-2.static2 |
# +----> libutil-linux-static --+
# | 2.32-3.static1 |
# `----> zlib ------------------'
# 1:1.2.11-2
pkgbase=qemu-user-static
pkgname=(qemu-user-static qemu-user-static-binfmt)
pkgdesc="Statically linked binaries of Qemu with user emulation. Useful for containers/chroot environment with binfmt."
pkgver=7.0.0
pkgrel=1
arch=(armv7h i686 x86_64)
license=(GPL2 LGPL2.1)
url="http://wiki.qemu.org/"
depends=()
makedepends=(python meson glib2-static pcre-static)
source=(https://download.qemu.org/qemu-$pkgver.tar.xz{,.sig})
sha512sums=('44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1'
'SKIP')
validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584')
case $CARCH in
i?86) _corearch=i386 ;;
x86_64) _corearch=x86_64 ;;
esac
# If non empty, always run the configure script
: "${FORCE_CONFIGURE:=1}"
prepare() {
mkdir -p build-user-static
cd qemu-${pkgver}
#sed -i 's/vte-2\.90/vte-2.91/g' configure
}
_configure() {
local libre_opts=(
--disable-blobs # disable installing firmware files used by system
)
../qemu-${pkgver}/configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib/qemu \
--enable-linux-user \
--disable-debug-info \
--disable-bsd-user \
--disable-werror \
--disable-system \
--disable-tools \
--disable-docs \
--disable-gtk \
--disable-gnutls \
--disable-nettle \
--disable-gcrypt \
--disable-glusterfs \
--disable-libnfs \
--disable-libiscsi \
--disable-vnc \
--disable-kvm \
--disable-libssh \
--disable-vde \
--disable-sdl \
--disable-opengl \
--disable-xen \
--disable-fdt \
--disable-vhost-net \
--disable-vhost-crypto \
--disable-vhost-user \
--disable-vhost-vsock \
--disable-vhost-scsi \
--disable-tpm \
--disable-qom-cast-debug \
--disable-capstone \
--disable-zstd \
--disable-linux-io-uring \
--disable-bpf \
${libre_opts[*]} \
--static
}
build() (
cd build-user-static
[[ ! $FORCE_CONFIGURE && -e ../qemu-${pkgver}/config.log ]] || _configure
make ARFLAGS="rc"
)
package_qemu-user-static() {
pkgdesc="QEMU user-mode emulation (static binaries)"
options=(!strip)
make -C build-user-static DESTDIR="$pkgdir" install "${@:2}"
# remove conflicting /var/run directory
cd "$pkgdir"
rm -rf var
# Remove BIOS files etc...
rm -rf usr/share
# Rename static qemu binaries
cd "${pkgdir}/usr/bin/"
tidy_strip
ls -1 | while read f; do
mv "$f" "$f-static"
done
}
package_qemu-user-static-binfmt() {
pkgdesc="binfmt registration for QEMU user-mode emulation"
depends=("qemu-user-static=$pkgver")
conflicts=(qemu-user)
cd build-user-static
install -d "$pkgdir"/usr/lib/binfmt.d
./scripts/qemu-binfmt-conf.sh \
--qemu-path /usr/bin \
--qemu-suffix -static \
--systemd ALL \
--exportdir "$pkgdir"/usr/lib/binfmt.d \
--credential yes
}
|