# Maintainer (aur): crab2313 # Contributor: Stefan Agner # Maintainer: Luke Shumaker # Contributor: Márcio Silva # Contributor: bill-auger # "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 }