Date: Mon, 19 May 2014 17:12:59 +0000 (UTC) From: Juergen Lock <nox@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r354560 - in head/emulators: . qemu-devel qemu-user-static Message-ID: <201405191712.s4JHCx7v088806@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nox Date: Mon May 19 17:12:58 2014 New Revision: 354560 URL: http://svnweb.freebsd.org/changeset/ports/354560 QAT: https://qat.redports.org/buildarchive/r354560/ Log: Add new slave port emulators/qemu-user-static: QEMU is a FAST! processor emulator using dynamic translation to achieve good emulation speed. QEMU has two operating modes: * Full system emulation. In this mode, QEMU emulates a full system (for example a PC), including a processor and various peripherials. It can be used to launch different Operating Systems without rebooting the PC or to debug system code. * User mode emulation (Linux host only). In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. It can be used to launch the Wine Windows API emulator or to ease cross-compilation and cross-debugging. As QEMU requires no host kernel patches to run, it is very safe and easy to use. This is a slave port of emulators/qemu-devel to build only static bsd-user targets named like qemu-mips-static. While still being experimental people have already built quite a few armv6/mips/mips64 packages using these and e.g. poudriere. Some notes are also here: http://wiki.freebsd.org/QemuUserModeHowTo WWW: http://wiki.qemu.org/Main_Page Suggested by: bapt Added: head/emulators/qemu-user-static/ head/emulators/qemu-user-static/Makefile (contents, props changed) head/emulators/qemu-user-static/pkg-descr (contents, props changed) Modified: head/emulators/Makefile head/emulators/qemu-devel/Makefile head/emulators/qemu-devel/pkg-plist Modified: head/emulators/Makefile ============================================================================== --- head/emulators/Makefile Mon May 19 16:43:45 2014 (r354559) +++ head/emulators/Makefile Mon May 19 17:12:58 2014 (r354560) @@ -112,6 +112,7 @@ SUBDIR += qemu SUBDIR += qemu-devel SUBDIR += qemu-launcher + SUBDIR += qemu-user-static SUBDIR += qmc2 SUBDIR += qtemu SUBDIR += quasi88 Modified: head/emulators/qemu-devel/Makefile ============================================================================== --- head/emulators/qemu-devel/Makefile Mon May 19 16:43:45 2014 (r354559) +++ head/emulators/qemu-devel/Makefile Mon May 19 17:12:58 2014 (r354560) @@ -7,12 +7,12 @@ PORTREVISION= 2 CATEGORIES= emulators MASTER_SITES= http://wiki.qemu.org/download/:release \ LOCAL/nox:snapshot -PKGNAMESUFFIX= -devel +PKGNAMESUFFIX?= -devel DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release DIST_SUBDIR= qemu/${PORTVERSION} MAINTAINER= nox@FreeBSD.org -COMMENT= QEMU CPU Emulator - development version +COMMENT?= QEMU CPU Emulator - development version HAS_CONFIGURE= yes USES= gmake pkgconfig bison perl5 tar:bzip2 @@ -23,7 +23,6 @@ USE_GNOME+= glib20 PATCH_STRIP= -p1 MAKE_ENV+= BSD_MAKE="${MAKE}" ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 # XXX someone wants to debug sparc64 hosts? -CONFLICTS_INSTALL= qemu-[0-9]* OPTIONS_DEFINE= SAMBA X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CURL \ CDROM_DMA PCAP USBREDIR GNS3 X86_TARGETS BSD_USER \ @@ -42,6 +41,10 @@ BSD_USER_DESC= Also build bsd-user targ STATIC_LINK_DESC= Statically link the executables OPTIONS_DEFAULT=X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP +.if !defined(QEMU_USER_STATIC) +CONFLICTS_INSTALL= qemu-[0-9]* +.endif + .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MBSD_USER} @@ -70,6 +73,13 @@ CONFIGURE_ARGS+= --extra-ldflags=-L${LOC CONFIGURE_ARGS+= --disable-smartcard-nss --disable-libssh2 PORTDOCS= docs qemu-doc.html qemu-tech.html qmp-commands.txt +.if defined(QEMU_USER_STATIC) +.if ${ARCH} != "amd64" +CONFIGURE_ARGS+= --target-list=i386-bsd-user,sparc-bsd-user,arm-bsd-user,mips-bsd-user,mipsel-bsd-user +.else +CONFIGURE_ARGS+= --target-list=i386-bsd-user,x86_64-bsd-user,sparc-bsd-user,sparc64-bsd-user,arm-bsd-user,mips-bsd-user,mipsel-bsd-user,mips64-bsd-user,mips64el-bsd-user +.endif +.else .if ${PORT_OPTIONS:MX86_TARGETS} .if ${PORT_OPTIONS:MBSD_USER} .if ${ARCH} != "amd64" @@ -89,6 +99,7 @@ CONFIGURE_ARGS+= --target-list=i386-soft .endif .endif .endif +.endif .if empty(PORT_OPTIONS:MBSD_USER) PLIST_SUB+= BSD_USER="@comment " @@ -110,6 +121,14 @@ PLIST_SUB+= NONX86="@comment " PLIST_SUB+= NONX86="" .endif +.if defined(QEMU_USER_STATIC) +PLIST_SUB+= SOFTMMU="@comment " +PLIST_SUB+= STATIC="-static" +.else +PLIST_SUB+= SOFTMMU="" +PLIST_SUB+= STATIC="" +.endif + .if ${PORT_OPTIONS:MGNS3} EXTRA_PATCHES+= ${FILESDIR}/hw_e1000_c.patch .endif @@ -269,6 +288,7 @@ post-configure: ${WRKSRC}/config-host.mak .endif +.if !target(post-install) post-install: .if ${PORT_OPTIONS:MDOCS} @(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/) @@ -281,5 +301,6 @@ post-install: @if [ ! -f ${PREFIX}/etc/qemu-ifdown ]; then \ ${CP} -p ${STAGEDIR}${PREFIX}/etc/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc/qemu-ifdown ; \ fi +.endif .include <bsd.port.mk> Modified: head/emulators/qemu-devel/pkg-plist ============================================================================== --- head/emulators/qemu-devel/pkg-plist Mon May 19 16:43:45 2014 (r354559) +++ head/emulators/qemu-devel/pkg-plist Mon May 19 17:12:58 2014 (r354560) @@ -1,12 +1,12 @@ -bin/qemu-ga -bin/qemu-img -bin/qemu-io -bin/qemu-nbd +%%SOFTMMU%%bin/qemu-ga +%%SOFTMMU%%bin/qemu-img +%%SOFTMMU%%bin/qemu-io +%%SOFTMMU%%bin/qemu-nbd %%NONX86%%bin/qemu-system-aarch64 %%NONX86%%bin/qemu-system-alpha %%NONX86%%bin/qemu-system-arm %%NONX86%%bin/qemu-system-cris -bin/qemu-system-i386 +%%SOFTMMU%%bin/qemu-system-i386 %%NONX86%%bin/qemu-system-lm32 %%NONX86%%bin/qemu-system-m68k %%NONX86%%bin/qemu-system-microblaze @@ -26,118 +26,112 @@ bin/qemu-system-i386 %%NONX86%%bin/qemu-system-sparc %%NONX86%%bin/qemu-system-sparc64 %%NONX86%%bin/qemu-system-unicore32 -%%BSD_USER%%bin/qemu-arm -%%BSD_USER%%bin/qemu-i386 -%%BSD_USER%%bin/qemu-mips -%%BSD_USER64%%bin/qemu-mips64 -%%BSD_USER64%%bin/qemu-mips64el -%%BSD_USER%%bin/qemu-mipsel -%%BSD_USER%%bin/qemu-sparc -%%BSD_USER64%%bin/qemu-sparc64 -%%BSD_USER64%%bin/qemu-x86_64 -bin/qemu-system-x86_64 +%%BSD_USER%%bin/qemu-arm%%STATIC%% +%%BSD_USER%%bin/qemu-i386%%STATIC%% +%%BSD_USER%%bin/qemu-mips%%STATIC%% +%%BSD_USER64%%bin/qemu-mips64%%STATIC%% +%%BSD_USER64%%bin/qemu-mips64el%%STATIC%% +%%BSD_USER%%bin/qemu-mipsel%%STATIC%% +%%BSD_USER%%bin/qemu-sparc%%STATIC%% +%%BSD_USER64%%bin/qemu-sparc64%%STATIC%% +%%BSD_USER64%%bin/qemu-x86_64%%STATIC%% +%%SOFTMMU%%bin/qemu-system-x86_64 %%NONX86%%bin/qemu-system-xtensa %%NONX86%%bin/qemu-system-xtensaeb -man/man1/qemu.1.gz -man/man1/qemu-img.1.gz -man/man8/qemu-nbd.8.gz -@unexec if cmp -s %D/etc/qemu-ifup.sample %D/etc/qemu-ifup; then rm -f %D/etc/qemu-ifup; fi -etc/qemu-ifup.sample -@exec if [ ! -f %D/etc/qemu-ifup ] ; then cp -p %D/%F %B/qemu-ifup; fi -@unexec if cmp -s %D/etc/qemu-ifdown.sample %D/etc/qemu-ifdown; then rm -f %D/etc/qemu-ifdown; fi -etc/qemu-ifdown.sample -@exec if [ ! -f %D/etc/qemu-ifdown ] ; then cp -p %D/%F %B/qemu-ifdown; fi -@unexec if cmp -s %D/etc/qemu/target-x86_64.conf.sample %D/etc/qemu/target-x86_64.conf; then rm -f %D/etc/qemu/target-x86_64.conf; fi -etc/qemu/target-x86_64.conf.sample -@exec if [ ! -f %D/etc/qemu/target-x86_64.conf ] ; then cp -p %D/%F %D/etc/qemu/target-x86_64.conf; fi -@dirrmtry etc/qemu -%%DATADIR%%/QEMU,tcx.bin -%%DATADIR%%/QEMU,cgthree.bin -%%DATADIR%%/acpi-dsdt.aml -%%DATADIR%%/q35-acpi-dsdt.aml -%%DATADIR%%/bios-256k.bin -%%DATADIR%%/bios.bin -%%DATADIR%%/efi-e1000.rom -%%DATADIR%%/efi-eepro100.rom -%%DATADIR%%/efi-ne2k_pci.rom -%%DATADIR%%/efi-pcnet.rom -%%DATADIR%%/efi-rtl8139.rom -%%DATADIR%%/efi-virtio.rom -%%DATADIR%%/s390-ccw.img -%%DATADIR%%/vgabios.bin -%%DATADIR%%/vgabios-cirrus.bin -%%DATADIR%%/vgabios-qxl.bin -%%DATADIR%%/vgabios-stdvga.bin -%%DATADIR%%/vgabios-vmware.bin -%%DATADIR%%/palcode-clipper -%%DATADIR%%/ppc_rom.bin -%%DATADIR%%/openbios-ppc -%%DATADIR%%/openbios-sparc32 -%%DATADIR%%/openbios-sparc64 -%%DATADIR%%/pxe-e1000.rom -%%DATADIR%%/pxe-eepro100.rom -%%DATADIR%%/pxe-ne2k_pci.rom -%%DATADIR%%/pxe-rtl8139.rom -%%DATADIR%%/pxe-pcnet.rom -%%DATADIR%%/pxe-virtio.rom -%%DATADIR%%/petalogix-ml605.dtb -%%DATADIR%%/spapr-rtas.bin -%%DATADIR%%/slof.bin -%%DATADIR%%/s390-zipl.rom -%%DATADIR%%/linuxboot.bin -%%DATADIR%%/multiboot.bin -%%DATADIR%%/sgabios.bin -%%DATADIR%%/petalogix-s3adsp1800.dtb -%%DATADIR%%/bamboo.dtb -%%DATADIR%%/kvmvapic.bin -%%DATADIR%%/qemu-icon.bmp -%%DATADIR%%/qemu_logo_no_text.svg -%%DATADIR%%/keymaps/ar -%%DATADIR%%/keymaps/bepo -%%DATADIR%%/keymaps/common -%%DATADIR%%/keymaps/cz -%%DATADIR%%/keymaps/da -%%DATADIR%%/keymaps/de -%%DATADIR%%/keymaps/de-ch -%%DATADIR%%/keymaps/en-gb -%%DATADIR%%/keymaps/en-us -%%DATADIR%%/keymaps/es -%%DATADIR%%/keymaps/et -%%DATADIR%%/keymaps/fi -%%DATADIR%%/keymaps/fo -%%DATADIR%%/keymaps/fr -%%DATADIR%%/keymaps/fr-be -%%DATADIR%%/keymaps/fr-ca -%%DATADIR%%/keymaps/fr-ch -%%DATADIR%%/keymaps/hr -%%DATADIR%%/keymaps/hu -%%DATADIR%%/keymaps/is -%%DATADIR%%/keymaps/it -%%DATADIR%%/keymaps/ja -%%DATADIR%%/keymaps/lt -%%DATADIR%%/keymaps/lv -%%DATADIR%%/keymaps/mk -%%DATADIR%%/keymaps/modifiers -%%DATADIR%%/keymaps/nl -%%DATADIR%%/keymaps/nl-be -%%DATADIR%%/keymaps/no -%%DATADIR%%/keymaps/pl -%%DATADIR%%/keymaps/pt -%%DATADIR%%/keymaps/pt-br -%%DATADIR%%/keymaps/ru -%%DATADIR%%/keymaps/sl -%%DATADIR%%/keymaps/sv -%%DATADIR%%/keymaps/th -%%DATADIR%%/keymaps/tr +%%SOFTMMU%%man/man1/qemu.1.gz +%%SOFTMMU%%man/man1/qemu-img.1.gz +%%SOFTMMU%%man/man8/qemu-nbd.8.gz +%%SOFTMMU%%@sample etc/qemu-ifup.sample +%%SOFTMMU%%@sample etc/qemu-ifdown.sample +%%SOFTMMU%%@sample etc/qemu/target-x86_64.conf.sample +%%SOFTMMU%%@dirrmtry etc/qemu +%%SOFTMMU%%%%DATADIR%%/QEMU,tcx.bin +%%SOFTMMU%%%%DATADIR%%/QEMU,cgthree.bin +%%SOFTMMU%%%%DATADIR%%/acpi-dsdt.aml +%%SOFTMMU%%%%DATADIR%%/q35-acpi-dsdt.aml +%%SOFTMMU%%%%DATADIR%%/bios-256k.bin +%%SOFTMMU%%%%DATADIR%%/bios.bin +%%SOFTMMU%%%%DATADIR%%/efi-e1000.rom +%%SOFTMMU%%%%DATADIR%%/efi-eepro100.rom +%%SOFTMMU%%%%DATADIR%%/efi-ne2k_pci.rom +%%SOFTMMU%%%%DATADIR%%/efi-pcnet.rom +%%SOFTMMU%%%%DATADIR%%/efi-rtl8139.rom +%%SOFTMMU%%%%DATADIR%%/efi-virtio.rom +%%SOFTMMU%%%%DATADIR%%/s390-ccw.img +%%SOFTMMU%%%%DATADIR%%/vgabios.bin +%%SOFTMMU%%%%DATADIR%%/vgabios-cirrus.bin +%%SOFTMMU%%%%DATADIR%%/vgabios-qxl.bin +%%SOFTMMU%%%%DATADIR%%/vgabios-stdvga.bin +%%SOFTMMU%%%%DATADIR%%/vgabios-vmware.bin +%%SOFTMMU%%%%DATADIR%%/palcode-clipper +%%SOFTMMU%%%%DATADIR%%/ppc_rom.bin +%%SOFTMMU%%%%DATADIR%%/openbios-ppc +%%SOFTMMU%%%%DATADIR%%/openbios-sparc32 +%%SOFTMMU%%%%DATADIR%%/openbios-sparc64 +%%SOFTMMU%%%%DATADIR%%/pxe-e1000.rom +%%SOFTMMU%%%%DATADIR%%/pxe-eepro100.rom +%%SOFTMMU%%%%DATADIR%%/pxe-ne2k_pci.rom +%%SOFTMMU%%%%DATADIR%%/pxe-rtl8139.rom +%%SOFTMMU%%%%DATADIR%%/pxe-pcnet.rom +%%SOFTMMU%%%%DATADIR%%/pxe-virtio.rom +%%SOFTMMU%%%%DATADIR%%/petalogix-ml605.dtb +%%SOFTMMU%%%%DATADIR%%/spapr-rtas.bin +%%SOFTMMU%%%%DATADIR%%/slof.bin +%%SOFTMMU%%%%DATADIR%%/s390-zipl.rom +%%SOFTMMU%%%%DATADIR%%/linuxboot.bin +%%SOFTMMU%%%%DATADIR%%/multiboot.bin +%%SOFTMMU%%%%DATADIR%%/sgabios.bin +%%SOFTMMU%%%%DATADIR%%/petalogix-s3adsp1800.dtb +%%SOFTMMU%%%%DATADIR%%/bamboo.dtb +%%SOFTMMU%%%%DATADIR%%/kvmvapic.bin +%%SOFTMMU%%%%DATADIR%%/qemu-icon.bmp +%%SOFTMMU%%%%DATADIR%%/qemu_logo_no_text.svg +%%SOFTMMU%%%%DATADIR%%/keymaps/ar +%%SOFTMMU%%%%DATADIR%%/keymaps/bepo +%%SOFTMMU%%%%DATADIR%%/keymaps/common +%%SOFTMMU%%%%DATADIR%%/keymaps/cz +%%SOFTMMU%%%%DATADIR%%/keymaps/da +%%SOFTMMU%%%%DATADIR%%/keymaps/de +%%SOFTMMU%%%%DATADIR%%/keymaps/de-ch +%%SOFTMMU%%%%DATADIR%%/keymaps/en-gb +%%SOFTMMU%%%%DATADIR%%/keymaps/en-us +%%SOFTMMU%%%%DATADIR%%/keymaps/es +%%SOFTMMU%%%%DATADIR%%/keymaps/et +%%SOFTMMU%%%%DATADIR%%/keymaps/fi +%%SOFTMMU%%%%DATADIR%%/keymaps/fo +%%SOFTMMU%%%%DATADIR%%/keymaps/fr +%%SOFTMMU%%%%DATADIR%%/keymaps/fr-be +%%SOFTMMU%%%%DATADIR%%/keymaps/fr-ca +%%SOFTMMU%%%%DATADIR%%/keymaps/fr-ch +%%SOFTMMU%%%%DATADIR%%/keymaps/hr +%%SOFTMMU%%%%DATADIR%%/keymaps/hu +%%SOFTMMU%%%%DATADIR%%/keymaps/is +%%SOFTMMU%%%%DATADIR%%/keymaps/it +%%SOFTMMU%%%%DATADIR%%/keymaps/ja +%%SOFTMMU%%%%DATADIR%%/keymaps/lt +%%SOFTMMU%%%%DATADIR%%/keymaps/lv +%%SOFTMMU%%%%DATADIR%%/keymaps/mk +%%SOFTMMU%%%%DATADIR%%/keymaps/modifiers +%%SOFTMMU%%%%DATADIR%%/keymaps/nl +%%SOFTMMU%%%%DATADIR%%/keymaps/nl-be +%%SOFTMMU%%%%DATADIR%%/keymaps/no +%%SOFTMMU%%%%DATADIR%%/keymaps/pl +%%SOFTMMU%%%%DATADIR%%/keymaps/pt +%%SOFTMMU%%%%DATADIR%%/keymaps/pt-br +%%SOFTMMU%%%%DATADIR%%/keymaps/ru +%%SOFTMMU%%%%DATADIR%%/keymaps/sl +%%SOFTMMU%%%%DATADIR%%/keymaps/sv +%%SOFTMMU%%%%DATADIR%%/keymaps/th +%%SOFTMMU%%%%DATADIR%%/keymaps/tr %%GTK2%%share/locale/de_DE/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/fr_FR/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/it/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/hu/LC_MESSAGES/qemu.mo %%GTK2%%share/locale/tr/LC_MESSAGES/qemu.mo -@dirrm %%DATADIR%%/keymaps +%%SOFTMMU%%@dirrm %%DATADIR%%/keymaps %%GTK2%%@dirrmtry share/locale/de_DE/LC_MESSAGES %%GTK2%%@dirrmtry share/locale/de_DE -@dirrmtry %%DATADIR%% -@exec mkdir -p %D/var/run -@dirrmtry var/run -@dirrmtry var +%%SOFTMMU%%@dirrmtry %%DATADIR%% +%%SOFTMMU%%@exec mkdir -p %D/var/run +%%SOFTMMU%%@dirrmtry var/run +%%SOFTMMU%%@dirrmtry var Added: head/emulators/qemu-user-static/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/qemu-user-static/Makefile Mon May 19 17:12:58 2014 (r354560) @@ -0,0 +1,27 @@ +# Created by: nox@FreeBSD.org +# $FreeBSD$ + +MAINTAINER= nox@FreeBSD.org +COMMENT= QEMU CPU Emulator development version - static bsd-user targets +PKGNAMESUFFIX= -user-static + +QEMU_USER_STATIC= yes +PKGMESSAGE= /dev/null +DESCR= ${.CURDIR}/pkg-descr +OPTIONS_SLAVE= STATIC_LINK BSD_USER X86_TARGETS +OPTIONS_EXCLUDE=SAMBA X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CURL \ + CDROM_DMA PCAP USBREDIR GNS3 DOCS +MASTERDIR= ${.CURDIR}/../qemu-devel + +post-install: + @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-ga + @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-img + @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-io + @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-nbd + @${RM} -r ${STAGEDIR}${PREFIX}/etc + @${RM} -r ${STAGEDIR}${PREFIX}/man + @${RM} -r ${STAGEDIR}${DATADIR} + @(cd ${STAGEDIR}${PREFIX}/bin && \ + for i in qemu-*; do ${MV} -i $$i $$i-static; done) + +.include "${MASTERDIR}/Makefile" Added: head/emulators/qemu-user-static/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/qemu-user-static/pkg-descr Mon May 19 17:12:58 2014 (r354560) @@ -0,0 +1,23 @@ +QEMU is a FAST! processor emulator using dynamic translation to achieve +good emulation speed. +QEMU has two operating modes: + + * Full system emulation. In this mode, QEMU emulates a full system +(for example a PC), including a processor and various peripherials. +It can be used to launch different Operating Systems without rebooting +the PC or to debug system code. + * User mode emulation (Linux host only). In this mode, QEMU can launch +Linux processes compiled for one CPU on another CPU. It can be used to +launch the Wine Windows API emulator or to ease cross-compilation and +cross-debugging. + +As QEMU requires no host kernel patches to run, it is very safe and easy to use. + +This is a slave port of emulators/qemu-devel to build only static +bsd-user targets named like qemu-mips-static. While still being +experimental people have already built quite a few armv6/mips/mips64 +packages using these and e.g. poudriere. Some notes are also here: + + http://wiki.freebsd.org/QemuUserModeHowTo + +WWW: http://wiki.qemu.org/Main_Page
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405191712.s4JHCx7v088806>