diff options
Diffstat (limited to 'libre/qemu-linaro')
-rw-r--r-- | libre/qemu-linaro/PKGBUILD | 124 | ||||
-rw-r--r-- | libre/qemu-linaro/qemu.install | 11 |
2 files changed, 135 insertions, 0 deletions
diff --git a/libre/qemu-linaro/PKGBUILD b/libre/qemu-linaro/PKGBUILD new file mode 100644 index 000000000..f3b104a5e --- /dev/null +++ b/libre/qemu-linaro/PKGBUILD @@ -0,0 +1,124 @@ +# Maintainer: Márcio Silva <coadde@parabola.nu> + +pkgbase='qemu' +pkgname=("${pkgbase}-linaro" + "${pkgbase}-linaro-block-iscsi" + "${pkgbase}-linaro-block-rbd" + "${pkgbase}-linaro-block-gluster") +_gitcount='r39004' # git rev-list <commit/branch> --count +_gitcommit='e571600' +pkgver="${_gitcount}.${_gitcommit}" +pkgrel='1' +arch=('i686' 'x86_64' 'armv7h') +license=('GPL2' 'LGPL2.1') +url="https://launchpad.net/${pkgbase}-linaro" +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' 'dtc' 'git') +source=("${pkgname}-${pkgver}::git+http://git.linaro.org/${pkgbase}/${pkgbase}-linaro.git#commit=${_gitcommit}") +md5sums=('SKIP') + +prepare() { + for _p in *.patch; do + [[ -e "$_p" ]] || continue + msg2 "Patching $_p" + patch -p1 -d ${pkgname}-${pkgver} < "$_p" + done +} + +build() { + cd "${pkgname}-${pkgver}" + # qemu vs. make 4 == bad + export ARFLAGS="rv" + # http://permalink.gmane.org/gmane.comp.emulators.qemu/238740 + export CFLAGS+=' -fPIC' + # gtk gui breaks keymappings at the moment + ./configure --prefix='/usr' --sysconfdir='/etc' --audio-drv-list='pa alsa sdl' \ + --python='/usr/bin/python2' --smbd=/usr/bin/smbd \ + --disable-docs --libexecdir="/usr/lib/${pkgbase}-linaro" \ + --disable-gtk --enable-linux-aio --enable-seccomp \ + --enable-spice --with-confsuffix="/${pkgbase}-linaro" \ + --enable-tpm --enable-guest-base --disable-guest-agent \ + --enable-modules --enable-{rbd,glusterfs,libiscsi,curl} \ + --target-list='aarch64-softmmu arm-softmmu aarch64-linux-user armeb-linux-user arm-linux-user' + make V=99 +} + +package_qemu-linaro() { + pkgdesc='QEMU with community improvements support for ARM architectures' + 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=('samba: SMB/CIFS server support' + "${pkgbase}: KVM and extra docs/tools support" + "${pkgbase}-arch-extra: ARM generic architectures support" + "${pkgbase}-linaro-block-iscsi: iSCSI block support" + "${pkgbase}-linaro-block-rbd: RBD block support" + "${pkgbase}-linaro-block-gluster: glusterfs block support") + options=(!strip) + install=qemu.install + + make -C "${pkgname}-${pkgver}" DESTDIR="${pkgdir}" libexecdir="/usr/lib/${pkgbase}-linaro" install + + cd "${pkgdir}" + + msg 'rm (and ln -s) files, due provided by seabios package' + rm -v "usr/share/${pkgbase}-linaro/acpi-dsdt.aml" + rm -v "usr/share/${pkgbase}-linaro/q35-acpi-dsdt.aml" + ln -vs "../${pkgbase}/acpi-dsdt.aml" "usr/share/${pkgbase}-linaro/acpi-dsdt.aml" + ln -vs "../${pkgbase}/q35-acpi-dsdt.aml" "usr/share/${pkgbase}-linaro/q35-acpi-dsdt.aml" + + msg 'bridge_helper needs suid' + msg 'https://bugs.archlinux.org/task/32565' + chmod u+s "usr/lib/${pkgbase}-linaro/${pkgbase}-bridge-helper" + + msg 'remove libcacard files' + rm -vr 'usr/include/cacard' + rm -v 'usr/lib/libcacard'* + rm -v 'usr/lib/pkgconfig/libcacard.pc' + rm -v 'usr/bin/vscclient' + rmdir -v 'usr/include' + rmdir -v 'usr/lib/pkgconfig' + + msg 'remove splitted block modules' + rm -v "usr/lib/${pkgbase}-linaro/block-"{iscsi,rbd,gluster}'.so' + + msg 'remove unused binaries' + rm -v "usr/bin/${pkgbase}-"{img,io,nbd} + rm -v 'usr/bin/virtfs-proxy-helper' + + msg 'rename binaries' + mv -v "usr/bin/${pkgbase}"{,-linaro}'-aarch64' + mv -v "usr/bin/${pkgbase}"{,-linaro}'-arm' + mv -v "usr/bin/${pkgbase}"{,-linaro}'-armeb' + mv -v "usr/bin/${pkgbase}"{,-linaro}'-system-aarch64' + mv -v "usr/bin/${pkgbase}"{,-linaro}'-system-arm' + + msg 'manually stripping' + find "${pkgdir}/usr/bin" -type f -exec strip {} \; +} + +package_qemu-linaro-block-iscsi() { + pkgdesc='QEMU (Linaro) iSCSI block module' + depends=('glibc' 'glib2' 'libiscsi') + + install -D "${pkgbase}-linaro-${pkgver}/block-iscsi.so" "${pkgdir}/usr/lib/${pkgbase}-linaro/block-iscsi.so" +} + +package_qemu-linaro-block-rbd() { + pkgdesc='QEMU (Linaro) RBD block module' + depends=('glibc' 'glib2' 'ceph') + + install -D "${pkgbase}-linaro-${pkgver}/block-rbd.so" "${pkgdir}/usr/lib/${pkgbase}-linaro/block-rbd.so" +} + +package_qemu-linaro-block-gluster() { + pkgdesc='QEMU (Linaro) GlusterFS block module' + depends=('glibc' 'glib2' 'glusterfs') + + install -D "${pkgbase}-linaro-${pkgver}/block-gluster.so" "${pkgdir}/usr/lib/${pkgbase}-linaro/block-gluster.so" +} diff --git a/libre/qemu-linaro/qemu.install b/libre/qemu-linaro/qemu.install new file mode 100644 index 000000000..91546c3ee --- /dev/null +++ b/libre/qemu-linaro/qemu.install @@ -0,0 +1,11 @@ +# Arg 1: the new package version +post_install() { + # create kvm group + systemd-sysusers qemu.conf + + # trigger events on modules files when already loaded + for _f in /sys/devices/virtual/misc/{kvm,vhost-net}; do + [[ -e "$_f" ]] && udevadm trigger "$_f" + done + : +} |