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