diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/qemu-static/PKGBUILD | 176 |
1 files changed, 93 insertions, 83 deletions
diff --git a/libre/qemu-static/PKGBUILD b/libre/qemu-static/PKGBUILD index 5388b3582..2a785de6f 100644 --- a/libre/qemu-static/PKGBUILD +++ b/libre/qemu-static/PKGBUILD @@ -2,111 +2,121 @@ # based of qemu pkgbase=qemu -pkgname=('qemu-static' - 'qemu-arch-extra-static' - 'binfmt-qemu-static') -pkgver=2.5.1 -pkgrel=1.10 -arch=('i686' 'x86_64' 'armv7h') -license=('GPL2' 'LGPL2.1') -url='http://wiki.qemu.org/' -makedepends=('pixman-static' 'glib2-static' 'pcre-static' 'python2') -source=(http://wiki.qemu.org/download/${pkgbase}-${pkgver}.tar.bz2 +pkgname=(qemu-static binfmt-qemu-static) +pkgver=2.7.0 +pkgrel=2 +arch=(i686 x86_64 armv7h) +license=(GPL2 LGPL2.1) +url="http://wiki.qemu.org/" +makedepends=(pixman-static glib2-static pcre-static python2) +source=("$url/download/${pkgbase}-${pkgver}.tar.bz2"{,.sig} qemu-{extra,aarch64,arm,i386,mips,mips64,x86_64}-static.conf) -md5sums=('42e73182dea8b9213fa7050e168a4615' - '46e56355a3161863a7418b2285c1a7d7' - '6a9c73902b0482b6344dc33087fa0504' - '0413b0b1298245a893e1662d8c8c37a5' - '76d7cf73da93456e795f820008c0119f' - '7a1b6c7cc47d8408c3572f983de5411b' - '9051b02a6cb2f58e30924734508595ef' - '3fdb58990d64db8f7c4ffb509fc29666') - -_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 - _native_arches=(x86_64 i386) - _extra_arches+=(aarch64 arm armeb mips mips64 mips64el mipsel mipsn32 mipsn32el) -elif [[ $CARCH = armv7h ]]; then - _native_arches=(arm) - _extra_arches+=(x86_64 i386 mips mips64 mips64el mipsel mipsn32 mipsn32el) -elif [[ $CARCH = mips64el ]]; then - _native_arches=(mips mips64 mips64el mipsel mipsn32 mipsn32el) - _extra_arches+=(x86_64 i386 aarch64 arm armeb) -fi +sha256sums=('326e739506ba690daf69fc17bd3913a6c313d9928d743bd8eddb82f403f81e53' + 'SKIP' + '2e87f745595f779df820b32dddbba6af634918134c311ae634b88453dc0b7861' + 'e91ff2371250137cca405645c8a8d0647d5229f3c38e28c3c1ef0511747ab73d' + '40a6b6a330e7f624516232be85ac814a24464eeff1097e037f75ed4f16319e74' + 'c7374b6c643971af382e873fbb7c6f5e549bfdfeaad5a22d4a21d99918e779aa' + 'e36af2cc4238b953a0fabb5bf032dfbd584bbf8bb0836e71621006ec0fa170af' + '2f8eadb0adc7bcd67b21e898fbbc808300094a584e5e28f45024d8016110e066' + '6c69ddc9ce44827e55e54cf78a2632292a440b5c222e6e4e904d962a7af39ff2') +validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584') prepare() { - for _p in *.patch; do - [[ -e "$_p" ]] || continue - msg2 "Patching $_p" - patch -p1 -d ${pkgbase}-${pkgver} < "$_p" - done + mkdir build-static + mkdir -p extra-arch-static/usr/{bin,share/qemu} + + cd ${pkgname}-${pkgver} + sed -i 's/vte-2\.90/vte-2.91/g' configure +} + +build() { + _build static \ + --audio-drv-list= \ + --disable-bluez \ + --disable-sdl \ + --disable-gtk \ + --disable-vte \ + --disable-opengl \ + --disable-virglrenderer \ + --disable-brlapi \ + --disable-docs \ + --disable-linux-aio \ + --disable-seccomp \ + --disable-spice \ + --disable-{rbd,glusterfs,libiscsi,curl} \ + --disable-system \ + --static \ + --disable-vnc \ + --disable-attr \ + --disable-blobs \ + --disable-vhost-net \ + --disable-bzip2 \ + --disable-libssh2 \ + --disable-gcrypt \ + --disable-nettle \ + --disable-curses \ + --disable-kvm \ + --disable-guest-agent } -build () -{ - cd ${pkgbase}-${pkgver} +_build() ( + cd build-$1 + # qemu vs. make 4 == bad - export ARFLAGS="rv" + export ARFLAGS=rv + # http://permalink.gmane.org/gmane.comp.emulators.qemu/238740 - export CFLAGS+=' -fPIC' - ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list='' \ - --python=/usr/bin/python2 --smbd=/usr/bin/smbd \ - --disable-docs --libexecdir=/usr/lib/qemu \ - --disable-gtk --disable-linux-aio --disable-seccomp \ - --disable-spice --localstatedir=/var \ - --enable-tpm \ - --disable-modules --disable-{rbd,glusterfs,libiscsi,curl} \ - --disable-system --static --disable-vnc \ - --disable-attr --disable-blobs --disable-vhost-net \ - --disable-bzip2 --disable-libssh2 --disable-gcrypt \ - --disable-nettle --disable-curses --disable-kvm \ - --disable-guest-agent - make V=99 + export CFLAGS+=" -fPIC" + + ../${pkgbase}-${pkgver}/configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/qemu \ + --python=/usr/bin/python2 \ + --smbd=/usr/bin/smbd \ + --without-gtkabi \ + --without-sdlabi \ + --disable-modules \ + --disable-jemalloc \ + "${@:2}" + + make } -package_qemu-static() { - pkgdesc='A generic and free processor emulator which achieves a good emulation speed by using dynamic translation (static binaries only)' - optdepends=('qemu-arch-extra-static: extra architectures support') +_package() { options=(!strip) - make -C ${pkgbase}-${pkgver} DESTDIR="${pkgdir}" install + make -C build-$1 DESTDIR="$pkgdir" install "${@:2}" - cd "${pkgdir}" + cd "$pkgdir"/usr/bin + tidy_strip # remove extra arch - for _arch in "${_extra_arches[@]}"; do - rm -vf usr/bin/qemu-${_arch} - done + for _bin in qemu-*; do + [[ -f $_bin ]] || continue + + case ${_bin#qemu-} in + # tools + img|io|nbd) rm "$_bin" continue ;; + esac - # rename all qemu-* binaries - cd usr/bin - for _arch in "${_native_arches[@]}"; do - mv -v qemu-${_arch} qemu-${_arch}-static - done - cd ../.. + mv "$_bin"{,-static} + done # remove conflicting files - rm -vr usr/{lib,share} - rm -v usr/bin/{ivshmem-{client,server},qemu-{img,io,nbd}} + rm -vr ../{lib,share} + rm -v {ivshmem-{client,server}} } package_qemu-arch-extra-static() { - pkgdesc='QEMU with full support for non native architectures (static binaries only)' - replaces=('qemu-static-arch-extra') - conflicts=('qemu-static-arch-extra') + pkgdesc="QEMU for foreign architectures (static binaries only)" + replaces=(qemu-{static-arch-extra,arch-extra-static}) + conflicts=(qemu-{static-arch-extra,arch-extra-static}) options=(!strip) - cd qemu-${pkgver} - install -dm755 "${pkgdir}"/usr/bin - for _arch in "${_extra_arches[@]}"; do - install -m755 ${_arch}-*/qemu-${_arch} "${pkgdir}"/usr/bin - mv -v "${pkgdir}"/usr/bin/qemu-${_arch}{,-static} - done - - # manually stripping - find "${pkgdir}"/usr/bin -type f -exec strip {} \; + _package static } package_binfmt-qemu-static() { |