aboutsummaryrefslogtreecommitdiffstats
path: root/main/qemu
diff options
context:
space:
mode:
Diffstat (limited to 'main/qemu')
-rw-r--r--main/qemu/0001-ui-add-x_keymap.o-to-modules.patch65
-rw-r--r--main/qemu/APKBUILD163
-rw-r--r--main/qemu/lm32-need-x11.patch11
3 files changed, 163 insertions, 76 deletions
diff --git a/main/qemu/0001-ui-add-x_keymap.o-to-modules.patch b/main/qemu/0001-ui-add-x_keymap.o-to-modules.patch
new file mode 100644
index 0000000000..de69365316
--- /dev/null
+++ b/main/qemu/0001-ui-add-x_keymap.o-to-modules.patch
@@ -0,0 +1,65 @@
+From 68898bc82bcb0e697ed03c2405321033ba7feaf7 Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Thu, 17 May 2018 14:39:42 +0200
+Subject: [PATCH] ui: add x_keymap.o to modules
+
+x_keymap.o is common to the SDL and GTK+ modules, and it causes the
+QEMU binary to link to the X11 libraries. Add it separately to the
+modules to keep the main QEMU binary smaller.
+
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Message-id: 1526560782-18732-1-git-send-email-pbonzini@redhat.com
+
+[ kraxel: fix lm32 target build (milkymist-tmu2) ]
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+---
+ hw/display/Makefile.objs | 2 ++
+ ui/Makefile.objs | 11 +++++++----
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
+index 3c7c75b94d..11321e466b 100644
+--- a/hw/display/Makefile.objs
++++ b/hw/display/Makefile.objs
+@@ -20,6 +20,8 @@ common-obj-$(CONFIG_MILKYMIST) += milkymist-vgafb.o
+ common-obj-$(CONFIG_ZAURUS) += tc6393xb.o
+
+ common-obj-$(CONFIG_MILKYMIST_TMU2) += milkymist-tmu2.o
++milkymist-tmu2.o-cflags := $(X11_CFLAGS)
++milkymist-tmu2.o-libs := $(X11_LIBS)
+
+ obj-$(CONFIG_OMAP) += omap_dss.o
+ obj-$(CONFIG_OMAP) += omap_lcdc.o
+diff --git a/ui/Makefile.objs b/ui/Makefile.objs
+index cc784346cb..00f6976c30 100644
+--- a/ui/Makefile.objs
++++ b/ui/Makefile.objs
+@@ -15,10 +15,6 @@ common-obj-$(CONFIG_COCOA) += cocoa.o
+ common-obj-$(CONFIG_VNC) += $(vnc-obj-y)
+ common-obj-$(call lnot,$(CONFIG_VNC)) += vnc-stubs.o
+
+-common-obj-$(CONFIG_X11) += x_keymap.o
+-x_keymap.o-cflags := $(X11_CFLAGS)
+-x_keymap.o-libs := $(X11_LIBS)
+-
+ # ui-sdl module
+ common-obj-$(CONFIG_SDL) += sdl.mo
+ ifeq ($(CONFIG_SDLABI),1.2)
+@@ -46,6 +42,13 @@ gtk.mo-objs += gtk-gl-area.o
+ endif
+ endif
+
++ifeq ($(CONFIG_X11),y)
++sdl.mo-objs += x_keymap.o
++gtk.mo-objs += x_keymap.o
++x_keymap.o-cflags := $(X11_CFLAGS)
++x_keymap.o-libs := $(X11_LIBS)
++endif
++
+ common-obj-$(CONFIG_CURSES) += curses.mo
+ curses.mo-objs := curses.o
+ curses.mo-cflags := $(CURSES_CFLAGS)
+--
+2.17.0
+
diff --git a/main/qemu/APKBUILD b/main/qemu/APKBUILD
index f09182dd0b..63f69ed5ff 100644
--- a/main/qemu/APKBUILD
+++ b/main/qemu/APKBUILD
@@ -4,7 +4,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qemu
pkgver=2.12.0
-pkgrel=1
+pkgrel=2
pkgdesc="QEMU is a generic machine emulator and virtualizer"
url="http://qemu.org/"
arch="all"
@@ -27,16 +27,19 @@ makedepends="
libseccomp-dev
libssh2-dev
libusb-dev
+ libxml2-dev
linux-headers
lzo-dev
ncurses-dev
paxmark
+ sdl2-dev
snappy-dev
spice-dev
texinfo
usbredir-dev
util-linux-dev
vde2-dev
+ vte3-dev
xfsprogs-dev
zlib-dev
"
@@ -46,7 +49,8 @@ install="$pkgname.pre-install $pkgname.post-install"
# strip fails on .img files
# some tests does not run on our builders
options="suid !strip !check"
-subpackages="$pkgname-doc $pkgname-lang $pkgname-guest-agent:guest"
+subpackages="$pkgname-doc $pkgname-lang $pkgname-guest-agent:guest
+ ivshmem-tools:_ivshmem"
_subsystems="
aarch64
@@ -121,15 +125,22 @@ for _sub in $_subsystems; do
subpackages="$subpackages $pkgname-$_sub:_subsys"
done
-case "$CARCH" in
- x86) _arch=i386 ;;
- x86_64) _arch=x86_64 ;;
- *) _arch="" ;;
-esac
-if [ -n "$_arch" ]; then
- subpackages="$subpackages $pkgname-gtk"
- gtk() { _subsys system-$_arch-gtk; }
-fi
+_modules="
+ audio-alsa
+ audio-oss
+ audio-sdl
+ block-curl
+ block-dmg-bz2
+ block-nfs
+ block-ssh
+ ui-curses
+ ui-gtk
+ ui-sdl
+ "
+for _mod in $_modules; do
+ subpackages="$subpackages $pkgname-$_mod:_module"
+done
+subpackages="$subpackages qemu-modules:_all_modules"
subpackages="$subpackages $pkgname-img" # -img must be declared the last
@@ -145,7 +156,7 @@ source="http://wiki.qemu-project.org/download/$pkgname-$pkgver.tar.xz
0001-linux-user-fix-build-with-musl-on-ppc64le.patch
fix-sockios-header.patch
test-crypto-ivgen-skip-essiv.patch
- lm32-need-x11.patch
+ 0001-ui-add-x_keymap.o-to-modules.patch
$pkgname-guest-agent.confd
$pkgname-guest-agent.initd
@@ -199,67 +210,70 @@ _compile_common() {
--disable-debug-info \
--disable-bsd-user \
--disable-werror \
- --disable-sdl \
--disable-xen \
+ --enable-kvm \
--enable-seccomp \
--cc="${CC:-gcc}" \
"$@"
make ARFLAGS="rc"
}
-_compile_system() {
- _compile_common \
- --audio-drv-list=oss,alsa \
- --enable-kvm \
- --enable-vde \
- --enable-virtfs \
- --enable-curl \
- --enable-cap-ng \
- --enable-linux-aio \
- --enable-usb-redir \
- --enable-libssh2 \
- --enable-vhost-net \
- --enable-snappy \
- --enable-tpm \
- --enable-libnfs \
- --enable-lzo \
- --enable-docs \
- --enable-curses \
- --enable-pie \
- --disable-linux-user \
- "$@"
-}
-
build() {
mkdir -p "$builddir"/build \
- "$builddir"/build-user \
- "$builddir"/build-gtk
+ "$builddir"/build-static
- cd "$builddir"/build-user
+ cd "$builddir"/build-static
_compile_common \
--enable-linux-user \
--disable-system \
- --static
+ --static \
+ --disable-sdl \
+ --disable-gtk \
+ --disable-spice \
+ --disable-tools \
+ --disable-guest-agent \
+ --disable-guest-agent-msi \
+ --disable-curses \
+ --disable-curl \
+ --disable-gnutls \
+ --disable-gcrypt \
+ --disable-nettle \
+ --disable-cap-ng \
+ --disable-brlapi \
+ --disable-mpath \
+ --disable-libnfs \
+ --disable-capstone
cd "$builddir"/build
- _compile_system \
+ _compile_common \
+ --disable-linux-user \
+ --audio-drv-list=oss,alsa,sdl \
+ --enable-cap-ng \
+ --enable-curl \
+ --enable-curses \
+ --enable-docs \
+ --enable-gtk \
+ --enable-guest-agent \
+ --enable-libnfs \
+ --enable-libssh2 \
+ --enable-linux-aio \
+ --enable-lzo \
+ --enable-modules \
+ --enable-pie \
+ --enable-sdl \
+ --enable-snappy \
+ --enable-spice \
+ --enable-tpm \
+ --enable-usb-redir \
+ --enable-vde \
+ --enable-vhost-net \
+ --enable-virtfs \
--enable-vnc \
- --enable-vnc-png \
--enable-vnc-jpeg \
- --enable-spice \
- --enable-guest-agent \
- --disable-gtk
-
- if [ -n "$_arch" ]; then
- cd "$builddir"/build-gtk
- _compile_system \
- --enable-gtk \
- --with-gtkabi=3.0 \
- --disable-vnc \
- --disable-spice \
- --disable-guest-agent \
- --target-list="$_arch-softmmu"
- fi
+ --enable-vnc-png \
+ --with-gtkabi=3.0 \
+ --with-sdlabi=2.0 \
+ --tls-priority=@QEMU,SYSTEM
}
check() {
@@ -270,7 +284,7 @@ check() {
}
package() {
- cd "$builddir"/build-user
+ cd "$builddir"/build-static
make DESTDIR="$pkgdir" install
cd "$builddir"/build
@@ -288,12 +302,6 @@ package() {
chmod 04710 "$pkgdir"/usr/lib/qemu/qemu-bridge-helper
chgrp qemu "$pkgdir"/usr/lib/qemu/qemu-bridge-helper
- if [ -n "$_arch" ]; then
- cd "$builddir"/build-gtk
- install $_arch-softmmu/qemu-system-$_arch \
- "$pkgdir"/usr/bin/qemu-system-$_arch-gtk
- fi
-
# Do not install HTML docs.
rm "$pkgdir"/usr/share/doc/qemu/*.html
}
@@ -311,6 +319,12 @@ _subsys() {
mv "$pkgdir"/usr/bin/qemu-$name "$subpkgdir"/usr/bin/
}
+_ivshmem() {
+ pkgdesc="Client and server for QEMU ivshmem device"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/ivshmem-* "$subpkgdir"/usr/bin/
+}
+
img() {
pkgdesc="QEMU command line tool for manipulating disk images"
depends=""
@@ -326,7 +340,7 @@ img() {
# and check that we done have new systems that belongs in
# subpackage.
local path= retval=0
- for path in "$pkgdir"/usr/bin/qemu-system-*; do
+ for path in "$pkgdir"/usr/bin/qemu-system-* "$pkgdir"/usr/lib/qemu/*.so; do
if [ -r "$path" ]; then
error "Please create a subpackage for ${path##*/}"
retval=1
@@ -349,6 +363,25 @@ guest() {
"$subpkgdir"/etc/conf.d/$pkgname-guest-agent
}
+_module() {
+ local _mod=${subpkgname#qemu-}
+ local _class=${_mod%%-*}
+ local _m=${_mod#*-}
+ pkgdesc="Qemu $_m $_class module"
+ mkdir -p "$subpkgdir"/usr/lib/qemu
+ mv "$pkgdir"/usr/lib/qemu/$_mod.so \
+ "$subpkgdir"/usr/lib/qemu/
+}
+
+_all_modules() {
+ pkgdesc="Meta package for all qemu modules"
+ local _i
+ for _i in $_modules; do
+ depends="$depends $_i"
+ done
+ mkdir -p "$subpkgdir"
+}
+
sha512sums="dda057c52cf5fe460b029448049266ace061d21fb5f1cf71a6a37f67b3b7fc3350f6712bf22803fc38fa91f0bd438896ba01b5817b3b94ba9b6925aeaae053b7 qemu-2.12.0.tar.xz
405008589cad1c8b609eca004d520bf944366e8525f85a19fc6e283c95b84b6c2429822ba064675823ab69f1406a57377266a65021623d1cd581e7db000134fd 0001-elfload-load-PIE-executables-to-right-address.patch
ec84b27648c01c6e58781295dcd0c2ff8e5a635f9836ef50c1da5d0ed125db1afc4cb5b01cb97606d6dd8f417acba93e1560d9a32ca29161a4bb730b302440ea 0006-linux-user-signal.c-define-__SIGRTMIN-MAX-for-non-GN.patch
@@ -361,7 +394,7 @@ fd178f2913639a0c33199b3880cb17536961f2b3ff171c12b27f4be6bca032d6b88fd16302d09c69
d8933df9484158c2b4888254e62117d78f8ed7c18527b249419f39c2b2ab1afa148010884b40661f8965f1ef3105580fceffdfddbb2c9221dc1c62066722ba65 0001-linux-user-fix-build-with-musl-on-ppc64le.patch
39590476a4ebd7c1e79a4f0451b24c75b1817a2a83abaa1f71bb60b225d772152f0af8f3e51ff65645e378c536ffa6ff551dade52884d03a14b7c6a19c5c97d4 fix-sockios-header.patch
8b8db136f78bd26b5da171effa9e11016ec2bc3e2fc8107228b5543b47aa370978ed883794aa4f917f334e284a5b49e82070e1da2d31d49301195b6713a48eff test-crypto-ivgen-skip-essiv.patch
-2c42571c51d14cdb67d238d2290e0fc9ce07413aa2b09a20ac86b94ee9f437deacc70d7f7c38cb4893ecb30f9e3ee53b207c6b6efbe72c427efec90f61739810 lm32-need-x11.patch
+e052ece28af1e7a81828322999b6f1ff5c030c717a897fe80ea04d5ba7f9d477786d91cfbf2eb3444c46b1bc8d3b72a771c26c819bc3ecfd216dd02b6567796e 0001-ui-add-x_keymap.o-to-modules.patch
d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd
1cd24c2444c5935a763c501af2b0da31635aad9cf62e55416d6477fcec153cddbe7de205d99616def11b085e0dd366ba22463d2270f831d884edbc307c7864a6 qemu-guest-agent.initd
9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules
diff --git a/main/qemu/lm32-need-x11.patch b/main/qemu/lm32-need-x11.patch
deleted file mode 100644
index 456843c60b..0000000000
--- a/main/qemu/lm32-need-x11.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qemu-2.12.0/configure.orig
-+++ qemu-2.12.0/configure
-@@ -6086,7 +6086,7 @@
- echo "CONFIG_STAMP=_$( (echo $qemu_version; echo $pkgversion; cat $0) | $shacmd - | cut -f1 -d\ )" >> $config_host_mak
- echo "CONFIG_MODULES=y" >> $config_host_mak
- fi
--if test "$have_x11" = "yes" -a "$need_x11" = "yes"; then
-+if test "$have_x11" = "yes"; then
- echo "CONFIG_X11=y" >> $config_host_mak
- echo "X11_CFLAGS=$x11_cflags" >> $config_host_mak
- echo "X11_LIBS=$x11_libs" >> $config_host_mak