pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/emulators/qemu qemu: Upgrade to 2.10.0
details: https://anonhg.NetBSD.org/pkgsrc/rev/1e6fccc045c3
branches: trunk
changeset: 367360:1e6fccc045c3
user: kamil <kamil%pkgsrc.org@localhost>
date: Wed Aug 30 21:00:46 2017 +0000
description:
qemu: Upgrade to 2.10.0
pkgsrc changes:
- remove stray conflict with qemu-bin - I cannot find references to it in
pkgsrc
- drop mentions of NetBSD version < 6.0 - it's already broken there
regardless of the directives and not supported
- remove stray BUILDLINK_PASSTHRU_DIRS and BUILDLINK_PASSTHRU_RPATHDIRS
this is redundant with the default pkgsrc framework defines
- not yet ported to 3.x as of 2.10.0, newer versions get initial patches
- remove ivshmem - it's not a user settable option, it requires as of now
Linux kernel API (eventfd) and it builds only for Linux now (no longer
for BSD and SunOS)
- add test target - all tests pass on NetBSD 8.99.2 (with disabled PaX
MPROTECT)
- sync PLIST
- drop patches that are no longer needed, proper fixes merged upstream
upstream changelog
==================
The full list of changes are available at:
http://wiki.qemu.org/ChangeLog/2.10
Highlights include:
* Support for ACPI NUMA distance info and control over CPU NUMA
assignments via '-numa cpu' parameters
* Support for LUKS encryption format in qcow2 images
* Monitor/Management interface improvments: additional debug
information available through 'info ramblock/cmma/register/qtree',
support for viewing connected clients via 'info vnc', improved
parsing support for QMP protocol, and other additional commands
* QXL and virtio-gpu support for controlling default display resolution
* Support for vhost-user-scsi devices
* NVMe emulation support for Write Zeroes command and Controller
Memory Buffers
* Guest agent support for querying guest hostname, users, timezone, and
OS version/release information
* ARM: KVM support for Raspberry Pi 3
* ARM: emulation support for MPS2/MPS2+ FPGA-based dev boards
* ARM: zynq: SPIPS flash support
* ARM: exynos4210: hardware PRNG device, SDHCI, and system poweroff
* Microblaze: support for CPU versions 9.4, 9.5, 9.6, and 10.0
* MIPS: support for Enhanced Virtual Addressing (EVA)
* MIPS: initrd support for kaslr-enabled kernels
* OpenRISC: support for shadow registers, idle states, and
numcores/coreid/EVAR/EPH registers
* PowerPC: Multi-threaded TCG emulation support
* PowerPC: OpenBIOS VGA driver for MacOS guests
* PowerPC: pseries: KVM and emulation support for POWER9 guests
* PowerPC: pseries: support for hash page table resizing
* s390: channel device passthrough support via vfio-ccw
* s390: support for channel-attached 3270 "green screen" devices for
use as guest consoles or additional TTYs
* s390: improved support for PCI (AEN, AIS, and zPCI)
* s390: support for z14 CPU models and netboot/TFTP via CCW BIOS,
* s390: TCG support for atomic "LOAD AND x" and "COMPARE SWAP"
operations, LOAD PROGRAM PARAMETER, extended facilities, CPU type,
and many more less-common instructions.
* SH: TCG support for host atomic instructions for emulating tas.b and
gUSA (user-space atomics), and support for fpchg/fsrra instructions
* SPARC: fixes for booting Solaris 2.6 on sun4m/OpenBIOS machines
* x86: Q35 MCH supports TSEG higher than 8MB
* x86: SSE register access via gdbstub
* Xen: support for multi-page shared rings, and 9pfs/virtfs backend
* Xtensa: sim machine console can be directed to chardev via -serial
* and lots more...
diffstat:
emulators/qemu/Makefile | 30 +--
emulators/qemu/PLIST | 4 +-
emulators/qemu/distinfo | 18 +-
emulators/qemu/options.mk | 14 +-
emulators/qemu/patches/patch-Makefile.objs | 15 -
emulators/qemu/patches/patch-configure | 93 +---------
emulators/qemu/patches/patch-default-configs_pci.mak | 11 -
emulators/qemu/patches/patch-disas_libvixl_vixl_a64_disasm-a64.cc | 16 -
emulators/qemu/patches/patch-disas_libvixl_vixl_utils.h | 19 --
emulators/qemu/patches/patch-hw_misc_ivshmem.c | 14 -
emulators/qemu/patches/patch-scripts_qemu-binfmt-conf.sh | 21 --
11 files changed, 27 insertions(+), 228 deletions(-)
diffs (truncated from 403 to 300 lines):
diff -r 7eb1a746c565 -r 1e6fccc045c3 emulators/qemu/Makefile
--- a/emulators/qemu/Makefile Wed Aug 30 19:49:59 2017 +0000
+++ b/emulators/qemu/Makefile Wed Aug 30 21:00:46 2017 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.171 2017/08/25 12:39:56 jperkin Exp $
+# $NetBSD: Makefile,v 1.172 2017/08/30 21:00:46 kamil Exp $
-DISTNAME= qemu-2.9.0
-PKGREVISION= 2
+DISTNAME= qemu-2.10.0
CATEGORIES= emulators
MASTER_SITES= http://download.qemu-project.org/
EXTRACT_SUFX= .tar.xz
@@ -11,11 +10,6 @@
COMMENT= CPU emulator using dynamic translation
LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
-CONFLICTS+= qemu-bin-[0-9]*
-NOT_FOR_PLATFORM+= NetBSD-1.[0-6]*-*
-# qemu 1 does not work on NetBSD-5; see http://gnats.netbsd.org/46565.
-NOT_FOR_PLATFORM+= NetBSD-5*-*
-
USE_CURSES= resize_term wide
USE_LANGUAGES+= c c++
USE_TOOLS+= bison flex gmake makeinfo perl:build pkg-config
@@ -85,10 +79,7 @@
REPLACE_PERL+= scripts/texi2pod.pl
-PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported yet as of 2.8.0
-
-BUILDLINK_PASSTHRU_DIRS+= /usr/lib
-BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/lib
+PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported yet as of 2.10.0
INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/qemu
@@ -97,17 +88,7 @@
UE_ARCHS+= sparc64 x86_64 microblazeel s390x unicore32
.if ${OPSYS} == "NetBSD"
-. if (!empty(OS_VERSION:M5.99.*) || !empty(OS_VERSION:M[6-9].*))
-# XXX
-# i386 and x86_64 user emul require newer binutils for PROVIDE_HIDDEN()
-# http://git.qemu.org/qemu.git/commit/?id=845f2c2812d9ed24b36c02a3d06ee83aeafe8b49
-# but binutils-2.19 was enabled around 5.99.22:
-# http://cvsweb.NetBSD.org/bsdweb.cgi/src/share/mk/bsd.own.mk#rev1.594
USER_EMUL= i386 x86_64 sparc sparc64
-. else
-CONFIGURE_ARGS+= --disable-bsd-user
-USER_EMUL=
-. endif
PLIST.nbd= YES
.elif !empty(OPSYS:M*BSD) || !empty(OPSYS:MDragonFly)
USER_EMUL= i386 x86_64 sparc sparc64
@@ -119,16 +100,19 @@
.elif !empty(OPSYS:MLinux)
USER_EMUL= ${UE_ARCHS}
PLIST.nbd= YES
+PLIST.ivshmem= YES
.elif !empty(MACHINE_PLATFORM:MSunOS-5.11-*)
PLIST.nbd= YES
CONFIGURE_ARGS+= --disable-coroutine-pool
.endif
-PLIST_VARS+= ${UE_ARCHS} nbd
+PLIST_VARS+= ${UE_ARCHS} nbd ivshmem
.for _var_ in ${USER_EMUL}
PLIST.${_var_}= YES
.endfor
+TEST_TARGET= check
+
post-install:
${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
${DESTDIR}${PREFIX}/share/doc/qemu/
diff -r 7eb1a746c565 -r 1e6fccc045c3 emulators/qemu/PLIST
--- a/emulators/qemu/PLIST Wed Aug 30 19:49:59 2017 +0000
+++ b/emulators/qemu/PLIST Wed Aug 30 21:00:46 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.50 2017/04/22 20:18:09 adam Exp $
+@comment $NetBSD: PLIST,v 1.51 2017/08/30 21:00:46 kamil Exp $
${PLIST.ivshmem}bin/ivshmem-client
${PLIST.ivshmem}bin/ivshmem-server
${PLIST.alpha}bin/qemu-alpha
@@ -146,7 +146,9 @@
share/qemu/pxe-virtio.rom
share/qemu/qemu-icon.bmp
share/qemu/qemu_logo_no_text.svg
+share/qemu/qemu_vga.ndrv
share/qemu/s390-ccw.img
+share/qemu/s390-netboot.img
share/qemu/sgabios.bin
share/qemu/skiboot.lid
share/qemu/slof.bin
diff -r 7eb1a746c565 -r 1e6fccc045c3 emulators/qemu/distinfo
--- a/emulators/qemu/distinfo Wed Aug 30 19:49:59 2017 +0000
+++ b/emulators/qemu/distinfo Wed Aug 30 21:00:46 2017 +0000
@@ -1,20 +1,15 @@
-$NetBSD: distinfo,v 1.126 2017/08/25 12:39:56 jperkin Exp $
+$NetBSD: distinfo,v 1.127 2017/08/30 21:00:46 kamil Exp $
-SHA1 (qemu-2.9.0.tar.xz) = 5cc63c6cababaaa7d0685e8b32bacf5022873ebc
-RMD160 (qemu-2.9.0.tar.xz) = 700e714204258cbb1cb9831e47e3d8cde4b67d20
-SHA512 (qemu-2.9.0.tar.xz) = a5259b888ac336db559f4483a9c50ad434fb82aedce37d9be957e79f696736509af1841489ee10e7362ef1506f3a04786c483a2e37d342b2bec46f0a726fb60f
-Size (qemu-2.9.0.tar.xz) = 22830688 bytes
-SHA1 (patch-Makefile.objs) = 8a538c5a55bfb7c3556b77a0eac2f055b0cf8692
-SHA1 (patch-configure) = 4d6e0737cfbd9efcd02ab43c219fed0f0a1a55a9
+SHA1 (qemu-2.10.0.tar.xz) = 5d6815fa3ab1c6163c7e886f26153feabdcbb0f8
+RMD160 (qemu-2.10.0.tar.xz) = 18579f8a5fe77e729b15b1876f4b1456d2c7e30e
+SHA512 (qemu-2.10.0.tar.xz) = 67891e78a0df8538838c5fc6d5208e1e0c23f608013818ea8f2f6b7dcbf80404113559b4d33aea32daf25bd43c2d8b5befbebf9fab16adf74a50218239cead53
+Size (qemu-2.10.0.tar.xz) = 25040324 bytes
+SHA1 (patch-configure) = b64e69bb9b9615e59f921ff35c88f7c58632d265
SHA1 (patch-contrib_ivshmem-client_ivshmem-client.c) = 40c8751607cbf66a37e4c4e08f2664b864e2e984
SHA1 (patch-contrib_ivshmem-server_ivshmem-server.c) = d8f53432b5752f4263dc4ef96108a976a05147a3
-SHA1 (patch-default-configs_pci.mak) = 2162550a68de514c8fe9e255df88f8a0a07ee6c7
-SHA1 (patch-disas_libvixl_vixl_a64_disasm-a64.cc) = 0660a0c2d37c332fcd1e00edb2dc3c52fe179cc9
-SHA1 (patch-disas_libvixl_vixl_utils.h) = 85285473b6021f9a0d190832d03c60c4d9df6bb7
SHA1 (patch-ef) = 98a1de2fd48638886b5d16f6a61dc72910e98b41
SHA1 (patch-et) = e9b850ac5985cbe934b541acbfdb330cce421d50
SHA1 (patch-hw_display_omap__dss.c) = 6b13242f28e32346bc70548c216c578d98fd3420
-SHA1 (patch-hw_misc_ivshmem.c) = c1fdc8111286f2c760512189db4a854bfc6129d0
SHA1 (patch-hw_net_e1000.c) = 761e9afb5c74a03ee6cf0b918dd27122777a27b7
SHA1 (patch-hw_net_e1000__regs.h) = b93974c75bec94cbba048c0b61917177c5cc08c1
SHA1 (patch-hw_net_e1000e__core.c) = 55917bcb9ca0f80476159e51f4240e8c1df68132
@@ -25,6 +20,5 @@
SHA1 (patch-hw_ppc_mac__oldworld.c) = b71667ab281dc23c9d971dc8754eeefc879bd1d7
SHA1 (patch-hw_usb_dev-mtp.c) = f5a446079d51b19eae6c2f5e0c9810c181e4f02d
SHA1 (patch-memory.c) = f8a97fa2ee2afcd361deaa1f0023b83d059e100b
-SHA1 (patch-scripts_qemu-binfmt-conf.sh) = a59c227e5891efe201eb2b8af15fb0832a1b20d0
SHA1 (patch-slirp_tcp__subr.c) = f011c9dc58282e61b26017547a9884f30a6e6154
SHA1 (patch-tests_Makefile.include) = 42345d697cb2e324dccf1d68bd8d61e8001c6162
diff -r 7eb1a746c565 -r 1e6fccc045c3 emulators/qemu/options.mk
--- a/emulators/qemu/options.mk Wed Aug 30 19:49:59 2017 +0000
+++ b/emulators/qemu/options.mk Wed Aug 30 21:00:46 2017 +0000
@@ -1,25 +1,17 @@
-# $NetBSD: options.mk,v 1.3 2017/02/27 05:19:29 adam Exp $
+# $NetBSD: options.mk,v 1.4 2017/08/30 21:00:46 kamil Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.qemu
-PKG_SUPPORTED_OPTIONS= gtk3 ivshmem sdl
+PKG_SUPPORTED_OPTIONS= gtk3 sdl
.include "../../mk/bsd.fast.prefs.mk"
-.if empty(MACHINE_PLATFORM:MNetBSD-[5-6].*-*)
-PKG_SUGGESTED_OPTIONS+= ivshmem
-.endif
-
.if empty(OPSYS:MDarwin)
PKG_SUGGESTED_OPTIONS+= sdl
.endif
.include "../../mk/bsd.options.mk"
-PLIST_VARS+= gtk ivshmem
-
-.if !empty(PKG_OPTIONS:Mivshmem)
-PLIST.ivshmem= yes
-.endif
+PLIST_VARS+= gtk
.if !empty(PKG_OPTIONS:Mgtk3)
PLIST.gtk= yes
diff -r 7eb1a746c565 -r 1e6fccc045c3 emulators/qemu/patches/patch-Makefile.objs
--- a/emulators/qemu/patches/patch-Makefile.objs Wed Aug 30 19:49:59 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-$NetBSD: patch-Makefile.objs,v 1.3 2017/04/22 20:18:10 adam Exp $
-
---- Makefile.objs.orig 2017-04-20 14:57:00.000000000 +0000
-+++ Makefile.objs
-@@ -110,8 +110,10 @@ qga-vss-dll-obj-y = qga/
-
- ######################################################################
- # contrib
-+ifeq ($(CONFIG_SHM_OPEN),y)
- ivshmem-client-obj-y = contrib/ivshmem-client/
- ivshmem-server-obj-y = contrib/ivshmem-server/
-+endif
- libvhost-user-obj-y = contrib/libvhost-user/
-
- ######################################################################
diff -r 7eb1a746c565 -r 1e6fccc045c3 emulators/qemu/patches/patch-configure
--- a/emulators/qemu/patches/patch-configure Wed Aug 30 19:49:59 2017 +0000
+++ b/emulators/qemu/patches/patch-configure Wed Aug 30 21:00:46 2017 +0000
@@ -1,28 +1,26 @@
-$NetBSD: patch-configure,v 1.18 2017/04/15 17:38:48 riastradh Exp $
+$NetBSD: patch-configure,v 1.19 2017/08/30 21:00:46 kamil Exp $
Don't use gld on SunOS
Use ncursesw6-config; define NCURSES_WIDECHAR to fix building on Darwin (at least).
-add check for shm_open
-avoid bad substitution
---- configure.orig 2016-12-20 20:16:44.000000000 +0000
+--- configure.orig 2017-08-30 16:50:40.000000000 +0000
+++ configure
-@@ -631,7 +631,6 @@ SunOS)
+@@ -747,7 +747,6 @@ SunOS)
solaris="yes"
make="${MAKE-gmake}"
install="${INSTALL-ginstall}"
- ld="gld"
smbd="${SMBD-/usr/sfw/sbin/smbd}"
- needs_libsunmath="no"
- solarisrev=$(uname -r | cut -f2 -d.)
-@@ -2928,23 +2927,23 @@ if test "$curses" != "no" ; then
+ if test -f /usr/include/sys/soundcard.h ; then
+ audio_drv_list="oss"
+@@ -3117,12 +3116,13 @@ if test "$curses" != "no" ; then
curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
else
- curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:"
- curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
-+ curses_inc_list="$(@PREFIX@/bin/ncursesw6-config --cflags 2>/dev/null):-I/usr/include/ncursesw:"
-+ curses_lib_list="$(@PREFIX@/bin/ncursesw6-config --libs 2>/dev/null):-lncursesw:-lcursesw"
++ curses_inc_list="$(@PREFIX@/bin/ncursesw6-config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:"
++ curses_lib_list="$(@PREFIX@/bin/ncursesw6-config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
fi
curses_found=no
cat > $TMPC << EOF
@@ -31,78 +29,3 @@
#include <curses.h>
#include <wchar.h>
int main(void) {
-- const char *s = curses_version();
- wchar_t wch = L'w';
- setlocale(LC_ALL, "");
- resize_term(0, 0);
- addwstr(L"wide chars\n");
- addnwstr(&wch, 1);
- add_wch(WACS_DEGREE);
-- return s != 0;
-+ return 0;
- }
- EOF
- IFS=:
-@@ -3762,6 +3761,27 @@ if compile_prog "" "" ; then
- fallocate_zero_range=yes
- fi
-
-+# check for shm_open
-+shm_open=no
-+cat > $TMPC << EOF
-+#include <sys/types.h>
-+#include <sys/mman.h>
-+#include <fcntl.h>
-+#include <stddef.h> // for NULL
-+
-+int main(void)
-+{
-+ shm_open(NULL, O_RDWR, 0644);
-+ return 0;
-+}
-+EOF
-+if compile_prog "" "" ; then
-+ shm_open=yes
-+elif compile_prog "" "-lrt" ; then
-+ LIBS="$LIBS -lrt"
-+ shm_open=yes
-+fi
-+
- # check for posix_fallocate
- posix_fallocate=no
- cat > $TMPC << EOF
-@@ -4041,8 +4061,13 @@ fi
- cat > $TMPC <<EOF
- #include <signal.h>
- #include <time.h>
-+#include <sys/types.h>
-+#include <sys/mman.h>
-+#include <fcntl.h>
-+
- int main(void) {
- timer_create(CLOCK_REALTIME, NULL, NULL);
-+ shm_open(NULL, O_RDWR, 0644);
- return clock_gettime(CLOCK_REALTIME, NULL);
- }
- EOF
-@@ -4797,7 +4822,9 @@ if test "$want_tools" = "yes" ; then
- tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
- if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
- tools="qemu-nbd\$(EXESUF) $tools"
-- tools="ivshmem-client\$(EXESUF) ivshmem-server\$(EXESUF) $tools"
-+ if test "$shm_open" = "yes" ; then
-+ tools="ivshmem-client\$(EXESUF) ivshmem-server\$(EXESUF) $tools"
-+ fi
- fi
- fi
- if test "$softmmu" = yes ; then
-@@ -5303,6 +5330,9 @@ fi
- if test "$fallocate_zero_range" = "yes" ; then
- echo "CONFIG_FALLOCATE_ZERO_RANGE=y" >> $config_host_mak
- fi
-+if [ "$shm_open" = "yes" ] ; then
-+ echo "CONFIG_SHM_OPEN=y" >> $config_host_mak
-+fi
- if test "$posix_fallocate" = "yes" ; then
Home |
Main Index |
Thread Index |
Old Index