summaryrefslogtreecommitdiff
path: root/libre/qemu-static
diff options
context:
space:
mode:
Diffstat (limited to 'libre/qemu-static')
-rw-r--r--libre/qemu-static/PKGBUILD97
1 files changed, 97 insertions, 0 deletions
diff --git a/libre/qemu-static/PKGBUILD b/libre/qemu-static/PKGBUILD
new file mode 100644
index 000000000..834666111
--- /dev/null
+++ b/libre/qemu-static/PKGBUILD
@@ -0,0 +1,97 @@
+# Maintainer: Márcio Silva <coadde@parabola.nu>
+# based of qemu
+
+pkgbase=qemu
+pkgname=('qemu-static'
+ 'qemu-arch-extra-static')
+pkgver=2.5.1
+pkgrel=1
+arch=('i686' 'x86_64' 'armv7h')
+license=('GPL2' 'LGPL2.1')
+url='http://wiki.qemu.org/'
+makedepends=('python2' 'glib2-static' 'pcre-static' 'libgcrypt-static' 'libgpg-error')
+#makedepends=('pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2'
+# 'gnutls' 'bluez-libs' 'vde2' 'util-linux' 'curl' 'libsasl'
+# 'libgl' 'libpulse' 'seabios' 'libcap-ng' 'libaio' 'libseccomp'
+# 'libiscsi' 'libcacard' 'spice' 'spice-protocol' 'python2'
+# 'usbredir' 'ceph' 'glusterfs' 'libssh2' 'lzo' 'snappy')
+
+source=(http://wiki.qemu.org/download/${pkgbase}-${pkgver}.tar.bz2)
+md5sums=('42e73182dea8b9213fa7050e168a4615')
+
+_extra_arches=(aarch64 alpha arm armeb cris m68k microblaze microblazeel
+or32 ppc ppc64 ppc64abi32 ppc64le s390x tilegx
+sh4 sh4eb sparc sparc32plus sparc64 unicore32)
+if [[ $CARCH = x86_64 || $CARCH = i686 ]]; then
+ _extra_arches+=(aarch64 arm armeb mips mips64 mips64el mipsel mipsn32 mipsn32el)
+elif [[ $CARCH = armv7h ]]; then
+ _extra_arches+=(x86_64 i386 mips mips64 mips64el mipsel mipsn32 mipsn32el)
+elif [[ $CARCH = mips64el ]]; then
+ _extra_arches+=(x86_64 i386 aarch64 arm armeb)
+fi
+
+
+prepare() {
+ for _p in *.patch; do
+ [[ -e "$_p" ]] || continue
+ msg2 "Patching $_p"
+ patch -p1 -d ${pkgbase}-${pkgver} < "$_p"
+ done
+}
+
+build ()
+{
+ cd ${pkgbase}-${pkgver}
+ # qemu vs. make 4 == bad
+ export ARFLAGS="rv"
+ # http://permalink.gmane.org/gmane.comp.emulators.qemu/238740
+ export CFLAGS+=' -fPIC'
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --python=/usr/bin/python2 \
+ --libexecdir=/usr/lib/qemu \
+ --localstatedir=/var \
+ --enable-tpm \
+ --disable-system --static
+ make V=99
+}
+
+package_qemu-static() {
+ pkgdesc='A generic and free processor emulator which achieves a good emulation speed by using dynamic translation (static binaries only)'
+# depends=('qemu')
+# depends=('glibc' 'pixman' 'libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2'
+# 'gnutls' 'bluez-libs' 'vde2' 'util-linux' 'libsasl' 'libgl'
+# 'seabios' 'libcap' 'libcap-ng' 'libaio' 'libseccomp' 'libcacard'
+# 'spice' 'usbredir' 'lzo' 'snappy' 'gcc-libs' 'zlib' 'bzip2' 'nspr'
+# 'ncurses' 'libx11' 'libusb' 'libpulse' 'libssh2' 'curl')
+ optdepends=('qemu-arch-extra-static: extra architectures support')
+ options=(!strip)
+
+ make -C ${pkgbase}-${pkgver} DESTDIR="${pkgdir}" install
+
+ cd "${pkgdir}"
+
+ # remove extra arch
+ for _arch in "${_extra_arches[@]}"; do
+ rm -f usr/bin/qemu-${_arch}
+ done
+
+ # remove conflicting files
+ rm -vr {usr/share,var}
+ rm -v bin/{ivshmem-{client,server},qemu-{img,io,nbd},virtfs-proxy-helper}
+ rm -v lib/qemu/qemu-bridge-helper
+}
+
+package_qemu-arch-extra-static() {
+ pkgdesc='QEMU with full support for non native architectures (static binaries only)'
+ depends=('qemu-static' 'qemu-arch-extra')
+ options=(!strip)
+
+ cd qemu-${pkgver}
+ install -dm755 "${pkgdir}"/usr/bin
+ for _arch in "${_extra_arches[@]}"; do
+ install -m755 ${_arch}-*/qemu-*${_arch} "${pkgdir}"/usr/bin
+ done
+
+ # manually stripping
+ find "${pkgdir}"/usr/bin -type f -exec strip {} \;
+}