diff options
author | nox <nox@FreeBSD.org> | 2014-05-20 01:12:58 +0800 |
---|---|---|
committer | nox <nox@FreeBSD.org> | 2014-05-20 01:12:58 +0800 |
commit | a96ac22df05a5ae3137b77a7c977d384166f36e2 (patch) | |
tree | 95ea12216bd65ade2efbd94bffaa686457c7c04a | |
parent | 15c3683507fa08f7a5523fd3965d75f261ed9678 (diff) | |
download | freebsd-ports-gnome-a96ac22df05a5ae3137b77a7c977d384166f36e2.tar.gz freebsd-ports-gnome-a96ac22df05a5ae3137b77a7c977d384166f36e2.tar.zst freebsd-ports-gnome-a96ac22df05a5ae3137b77a7c977d384166f36e2.zip |
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
-rw-r--r-- | emulators/Makefile | 1 | ||||
-rw-r--r-- | emulators/qemu-devel/Makefile | 27 | ||||
-rw-r--r-- | emulators/qemu-devel/pkg-plist | 216 | ||||
-rw-r--r-- | emulators/qemu-user-static/Makefile | 27 | ||||
-rw-r--r-- | emulators/qemu-user-static/pkg-descr | 23 |
5 files changed, 180 insertions, 114 deletions
diff --git a/emulators/Makefile b/emulators/Makefile index e556d6ed9dc6..fb4062da696b 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -112,6 +112,7 @@ SUBDIR += qemu SUBDIR += qemu-devel SUBDIR += qemu-launcher + SUBDIR += qemu-user-static SUBDIR += qmc2 SUBDIR += qtemu SUBDIR += quasi88 diff --git a/emulators/qemu-devel/Makefile b/emulators/qemu-devel/Makefile index 52c595696b9a..f0300695724b 100644 --- a/emulators/qemu-devel/Makefile +++ b/emulators/qemu-devel/Makefile @@ -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 targets (for testing) 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${LOCALBASE}/lib 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-softmmu,x86_64-softmmu,aarch64-softmmu,alpha .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> diff --git a/emulators/qemu-devel/pkg-plist b/emulators/qemu-devel/pkg-plist index b07846baa7b0..c08099762974 100644 --- a/emulators/qemu-devel/pkg-plist +++ b/emulators/qemu-devel/pkg-plist @@ -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 diff --git a/emulators/qemu-user-static/Makefile b/emulators/qemu-user-static/Makefile new file mode 100644 index 000000000000..d04ab4aff218 --- /dev/null +++ b/emulators/qemu-user-static/Makefile @@ -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" diff --git a/emulators/qemu-user-static/pkg-descr b/emulators/qemu-user-static/pkg-descr new file mode 100644 index 000000000000..ecfa60cb90ee --- /dev/null +++ b/emulators/qemu-user-static/pkg-descr @@ -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 |