Index: emulators/qemu-sbruno/Makefile =================================================================== --- emulators/qemu-sbruno/Makefile (revision 525282) +++ emulators/qemu-sbruno/Makefile (working copy) @@ -20,6 +20,9 @@ USE_PERL5= build MAKE_ENV+= BSD_MAKE="${MAKE}" V=1 +DEPRECATED= Port will be removed in favor of emulators/qemu +EXPIRATION_DATE= 2020-07-01 + ONLY_FOR_ARCHS= amd64 powerpc powerpc64 # XXX someone wants to debug sparc64 hosts? BROKEN_i386= aarch64 system target is currently broken for i386 hosts, disable for now while dealing with upstream Index: emulators/qemu-user-static/Makefile =================================================================== --- emulators/qemu-user-static/Makefile (revision 525282) +++ emulators/qemu-user-static/Makefile (working copy) @@ -1,31 +1,87 @@ -# Created by: nox@FreeBSD.org # $FreeBSD$ -COMMENT= QEMU CPU Emulator github bsd-user branch - static user targets +PORTNAME= qemu +PORTVERSION= 3.1.0 +PORTREVISION= 3 +CATEGORIES= emulators PKGNAMESUFFIX= -user-static +DIST_SUBDIR= qemu/${PORTVERSION} -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-sbruno -CONFIGURE_ARGS+= --extra-cflags=-D_IFI_OQDROPS +MAINTAINER= emulation@FreeBSD.org +COMMENT= QEMU CPU Emulator github bsd-user branch - static user targets +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 powerpc powerpc64 +CONFLICTS_INSTALL= qemu-user-static-devel-[0-9]* + +USES= bison compiler:c11 gmake perl5 pkgconfig python:build +USE_GITHUB= yes +GH_TUPLE= seanbruno:qemu-bsd-user:e21442a \ + qemu:keycodemapdb:10739aa:keycodemapdb/ui/keycodemapdb +HAS_CONFIGURE= yes +USE_PERL5= build +MAKE_ENV+= BSD_MAKE="${MAKE}" V=1 + +USE_RC_SUBR= qemu_user_static +SUB_LIST= NAME=qemu_user_static + +# When static linking we have a build dependency on libglib-2.0.a, otherwise +# we use glib20 in the usual way (shared-lib runtime dependency). +BUILD_DEPENDS+= ${LOCALBASE}/lib/libglib-2.0.a:devel/glib20 + +.include + +CONFIGURE_ARGS+= --localstatedir=/var +CONFIGURE_ARGS+= --extra-ldflags=-L${LOCALBASE}/lib +CONFIGURE_ARGS+= --extra-cflags=-I${LOCALBASE}/include +CONFIGURE_ARGS+= --disable-libssh2 + +QEMU_TARGETS= i386-bsd-user sparc-bsd-user arm-bsd-user mips-bsd-user mipsel-bsd-user ppc-bsd-user +.if ${ARCH} == "amd64" || ${ARCH} == "powerpc64" +QEMU_TARGETS+= x86_64-bsd-user riscv64-bsd-user sparc64-bsd-user mips64-bsd-user mips64el-bsd-user ppc64-bsd-user aarch64-bsd-user +PLIST_SUB+= 64BIT="" +.else +PLIST_SUB+= 64BIT="@comment " +.endif +CONFIGURE_ARGS+= --target-list=${QEMU_TARGETS:ts,} + +WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation +CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//} +CFLAGS+= -Wno-address-of-packed-member +CFLAGS+= -D_WANT_SEMUN +CONFIGURE_ARGS+= --prefix=${PREFIX} --cc=${CC} --enable-docs \ + --disable-linux-user --disable-linux-aio \ + --disable-kvm --disable-xen \ + --smbd=${LOCALBASE}/sbin/smbd \ + --enable-debug \ + --enable-debug-info \ + --static \ + --python=${PYTHON_CMD} \ + --disable-sdl --disable-gtk --disable-vte --disable-gnutls --disable-vnc \ + --disable-curl --disable-opengl --disable-usb-redir --disable-pcap \ + --disable-docs --disable-tools --disable-system --disable-guest-agent \ + --extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\" + +QEMU_ARCH= ${ARCH:C/amd64/x86_64/:C/powerpc/ppc/} +MAKE_ARGS+= ARCH=${QEMU_ARCH} + +post-patch: + @${REINPLACE_CMD} -E \ + -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing|" \ + -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ + ${WRKSRC}/Makefile.target + @${REINPLACE_CMD} -E \ + -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \ + -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ + ${WRKSRC}/Makefile + 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}/bin/ivshmem-client - @${RM} -r ${STAGEDIR}${PREFIX}/bin/ivshmem-server @${MV} ${STAGEDIR}${PREFIX}/etc/rc.d ${WRKDIR} @${RM} -r ${STAGEDIR}${PREFIX}/etc -.if exists(/usr/sbin/binmiscctl) @${MKDIR} ${STAGEDIR}${PREFIX}/etc @${MV} ${WRKDIR}/rc.d ${STAGEDIR}${PREFIX}/etc -.endif @${RM} -r ${STAGEDIR}${PREFIX}/man @${RM} -r ${STAGEDIR}${DATADIR} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-* @@ -32,4 +88,4 @@ @(cd ${STAGEDIR}${PREFIX}/bin && \ for i in qemu-*; do ${MV} -i $$i $$i-static; done) -.include "${MASTERDIR}/Makefile" +.include Index: emulators/qemu-user-static/distinfo =================================================================== Index: emulators/qemu-user-static/files/qemu_user_static.in =================================================================== Index: emulators/qemu-user-static/pkg-descr =================================================================== --- emulators/qemu-user-static/pkg-descr (revision 525282) +++ emulators/qemu-user-static/pkg-descr (working copy) @@ -13,10 +13,9 @@ 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-sbruno 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: +This port builds static bsd-user targets named like qemu-mips-static. While +still being experimental, people have already built many armv6/mips/mips64 ports +using these and, e.g., poudriere. Some notes are also here: http://wiki.freebsd.org/QemuUserModeHowTo Index: emulators/qemu-user-static/pkg-plist ===================================================================