8ac244e1a8
Add a new config option to enable SPICE support for QEMU. Note that the SPICE code in QEMU requires llvm 7.0 or higher, so it's currently only available for FreeBSD 13.0 and higher and disabled by default. Submitted by: Oleg Ginzburg <olevole@olevole.ru> Reviewed by: royger
103 lines
3.2 KiB
Makefile
103 lines
3.2 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= xen
|
|
PKGNAMESUFFIX= -tools411
|
|
PORTVERSION= 4.11.0
|
|
PORTREVISION= 7
|
|
CATEGORIES= sysutils emulators
|
|
MASTER_SITES= http://downloads.xenproject.org/release/xen/${PORTVERSION}/
|
|
|
|
MAINTAINER= royger@FreeBSD.org
|
|
COMMENT= Xen management tools
|
|
|
|
LICENSE= GPLv2 LGPL3
|
|
LICENSE_COMB= multi
|
|
|
|
LIB_DEPENDS= libyajl.so:devel/yajl \
|
|
liblzo2.so:archivers/lzo2 \
|
|
libpixman-1.so:x11/pixman \
|
|
libargp.so:devel/argp-standalone
|
|
BUILD_DEPENDS= seabios>0:misc/seabios
|
|
RUN_DEPENDS= seabios>0:misc/seabios
|
|
DOCS_BUILD_DEPENDS=markdown:textproc/markdown
|
|
|
|
OPTIONS_DEFINE= DOCS SPICE
|
|
OPTIONS_DEFAULT= DOCS
|
|
|
|
SPICE_DESC= Enable SPICE protocol for QEMU
|
|
SPICE_CONFIGURE_WITH= extra-qemuu-configure-args="--enable-spice"
|
|
SPICE_BUILD_DEPENDS= spice-protocol>=0.12.10:devel/spice-protocol
|
|
SPICE_LIB_DEPENDS= libspice-server.so:devel/libspice-server
|
|
|
|
ONLY_FOR_ARCHS= amd64
|
|
ONLY_FOR_ARCHS_REASON= "not yet ported to anything other than amd64"
|
|
|
|
USES= cpe gettext gmake libtool localbase:ldflags perl5 pkgconfig \
|
|
python:2.7 shebangfix
|
|
USE_GNOME= glib20
|
|
USE_LDCONFIG= yes
|
|
HAS_CONFIGURE= yes
|
|
# Set ARCH=x86_64 in order to overwrite the environment ARCH=amd64
|
|
MAKE_ARGS= clang=y ARCH=x86_64
|
|
|
|
# Set correct include paths taking /usr/local into account.
|
|
EXTRA_PATCHES= ${FILESDIR}/0001-build-fix-include-paths-in-FreeBSD.patch:-p1
|
|
# Build with lld (LLVM linker)
|
|
EXTRA_PATCHES+= ${FILESDIR}/0001-x86-replace-usage-in-the-linker-script.patch:-p1 \
|
|
${FILESDIR}/0001-x86-efi-move-the-logic-to-detect-PE-build-support.patch:-p1 \
|
|
${FILESDIR}/0002-x86-efi-split-compiler-vs-linker-support.patch:-p1
|
|
# Fix docs build
|
|
EXTRA_PATCHES+= ${FILESDIR}/0001-docs-use-the-make-wildcard-function-instead-of-find.patch:-p1
|
|
# XSA-273 and XSA-272
|
|
EXTRA_PATCHES+= ${FILESDIR}/0031-tools-oxenstored-Make-evaluation-order-explicit.patch:-p1 \
|
|
${FILESDIR}/0041-xl.conf-Add-global-affinity-masks.patch:-p1
|
|
# Fix hvmloader build with LLVM LD
|
|
EXTRA_PATCHES+= ${FILESDIR}/0001-hvmloader-fix-build-with-LLVM-Linker.patch:-p1
|
|
|
|
CONFIGURE_ARGS+= --with-system-seabios=${LOCALBASE}/share/seabios/bios.bin
|
|
|
|
SHEBANG_FILES= tools/misc/xen-ringwatch \
|
|
tools/misc/xencov_split \
|
|
tools/python/scripts/convert-legacy-stream \
|
|
tools/python/scripts/verify-stream-v2 \
|
|
tools/xenmon/xenmon.py
|
|
|
|
ALL_TARGET= tools
|
|
DOCS_ALL_TARGET= docs
|
|
INSTALL_TARGET= install-tools
|
|
DOCS_INSTALL_TARGET= install-docs
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${OPSYS} != FreeBSD
|
|
IGNORE= only supported on FreeBSD
|
|
.endif
|
|
|
|
.if ${OSVERSION} < 1200074
|
|
IGNORE= only supported on recent FreeBSD HEAD
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSPICE} && ${OSVERSION} < 1300008
|
|
BROKEN= SPICE support requires FreeBSD version 13.0 or higher
|
|
.endif
|
|
|
|
post-patch:
|
|
@for p in `ls ${FILESDIR}/*qemuu*.patch 2>/dev/null`; do \
|
|
${ECHO_CMD} "====> Applying $${p##*/}" ; \
|
|
${PATCH} -s -p1 -i $${p} -d ${WRKSRC}/tools/qemu-xen ; \
|
|
done
|
|
|
|
# The ports native 'build' target cannot be used because it sets CFLAGS, and
|
|
# that breaks the Xen kernel build system that's used by the tools in order to
|
|
# build the pv-shim.
|
|
do-build:
|
|
${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} ${MAKE_ARGS} ${ALL_TARGET}
|
|
|
|
do-install:
|
|
${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} ${MAKE_ARGS} ${INSTALL_TARGET}
|
|
|
|
post-install:
|
|
${MKDIR} ${STAGEDIR}/var/run/xen
|
|
|
|
.include <bsd.port.mk>
|