Changeset View
Changeset View
Standalone View
Standalone View
head/emulators/virtualbox-ose/Makefile
Show All 9 Lines | |||||
EXTRACT_ONLY= VirtualBox-${PORTVERSION}${EXTRACT_SUFX} | EXTRACT_ONLY= VirtualBox-${PORTVERSION}${EXTRACT_SUFX} | ||||
MAINTAINER= vbox@FreeBSD.org | MAINTAINER= vbox@FreeBSD.org | ||||
COMMENT= General-purpose full virtualizer for x86 hardware | COMMENT= General-purpose full virtualizer for x86 hardware | ||||
LICENSE= GPLv2 | LICENSE= GPLv2 | ||||
LICENSE_FILE= ${WRKSRC}/COPYING | LICENSE_FILE= ${WRKSRC}/COPYING | ||||
PATCH_DEPENDS+= ${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild | |||||
BUILD_DEPENDS= yasm:devel/yasm \ | BUILD_DEPENDS= yasm:devel/yasm \ | ||||
xsltproc:textproc/libxslt \ | xsltproc:textproc/libxslt \ | ||||
kmk:devel/kBuild \ | kmk:devel/kBuild \ | ||||
gtar:archivers/gtar | gtar:archivers/gtar | ||||
LIB_DEPENDS= libpng.so:graphics/png \ | LIB_DEPENDS= libpng.so:graphics/png \ | ||||
libxslt.so:textproc/libxslt \ | libxslt.so:textproc/libxslt \ | ||||
libcurl.so:ftp/curl | libcurl.so:ftp/curl | ||||
RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod | RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod | ||||
CPE_VENDOR= oracle | CPE_VENDOR= oracle | ||||
CPE_PRODUCT= vm_virtualbox | CPE_PRODUCT= vm_virtualbox | ||||
WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION} | WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION} | ||||
ONLY_FOR_ARCHS= i386 amd64 | ONLY_FOR_ARCHS= i386 amd64 | ||||
USES= compiler:c++14-lang cpe gnome iconv pkgconfig ssl tar:bzip2 | USES= cpe gnome iconv pkgconfig ssl tar:bzip2 | ||||
USE_GNOME= libidl libxml2 | USE_GNOME= libidl libxml2 | ||||
# machine/atomic.h may use features that are only available in GCC9. This is | |||||
# a workaround, anyways- we should be expressing USES= compiler:c++14-lang, but | |||||
# contemporary clang miscompiles virtualbox in some fashion and yields runtime | |||||
# breakage. | |||||
USE_GCC= any | |||||
HAS_CONFIGURE= yes | HAS_CONFIGURE= yes | ||||
CONFIGURE_ARGS= --disable-java --passive-mesa | CONFIGURE_ARGS= --disable-java --passive-mesa | ||||
CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" | CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" | ||||
CONFLICTS_INSTALL= virtualbox-ose-additions-* \ | CONFLICTS_INSTALL= virtualbox-ose-additions-* \ | ||||
virtualbox-ose-devel-[0-9]* \ | virtualbox-ose-devel-[0-9]* \ | ||||
virtualbox-ose-legacy-[0-9]* \ | virtualbox-ose-legacy-[0-9]* \ | ||||
▲ Show 20 Lines • Show All 154 Lines • ▼ Show 20 Lines | |||||
PLIST_SUB+= ARCH="${KMK_ARCH}" | PLIST_SUB+= ARCH="${KMK_ARCH}" | ||||
KMK_BUILDDIR= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE} | KMK_BUILDDIR= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE} | ||||
KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys | KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys | ||||
KMK_FLAGS+= -j${MAKE_JOBS_NUMBER} | KMK_FLAGS+= -j${MAKE_JOBS_NUMBER} | ||||
.include <bsd.port.pre.mk> | .include <bsd.port.pre.mk> | ||||
.if ${COMPILER_TYPE} == clang | |||||
.if ${COMPILER_VERSION} >= 80 | |||||
# XXX PR236616: Clang 8 & 9 caused runtime problems. | |||||
BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${VBOX_LLVM_VER}:devel/llvm${VBOX_LLVM_VER} | |||||
CC= ${LOCALBASE}/bin/clang${VBOX_LLVM_VER} | |||||
CXX= ${LOCALBASE}/bin/clang++${VBOX_LLVM_VER} | |||||
VBOX_LLVM_VER?= 70 | |||||
.endif | |||||
PATCH_DEPENDS+= ${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild | |||||
EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-Config.kmk \ | |||||
${PATCHDIR}/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk \ | |||||
${PATCHDIR}/extrapatch-src-recompiler-Makefile.kmk | |||||
.endif | |||||
.if ${PYTHON_MAJOR_VER} >= 3 | .if ${PYTHON_MAJOR_VER} >= 3 | ||||
PLIST_SUB+= PYTHON_PYCDIR=/__pycache__/ \ | PLIST_SUB+= PYTHON_PYCDIR=/__pycache__/ \ | ||||
PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc | PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc | ||||
.else | .else | ||||
PLIST_SUB+= PYTHON_PYCDIR=/ \ | PLIST_SUB+= PYTHON_PYCDIR=/ \ | ||||
PYTHON_PYCEXT=.pyc | PYTHON_PYCEXT=.pyc | ||||
.endif | .endif | ||||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | @${ECHO_CMD} 'VBOX_PATH_GSOAP = ${PREFIX}/lib/gsoap' >> \ | ||||
${WRKSRC}/LocalConfig.kmk | ${WRKSRC}/LocalConfig.kmk | ||||
@${ECHO_CMD} 'VBOX_PATH_GSOAP_BIN = ${PREFIX}/bin' >> \ | @${ECHO_CMD} 'VBOX_PATH_GSOAP_BIN = ${PREFIX}/bin' >> \ | ||||
${WRKSRC}/LocalConfig.kmk | ${WRKSRC}/LocalConfig.kmk | ||||
@${ECHO_CMD} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> \ | @${ECHO_CMD} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> \ | ||||
${WRKSRC}/LocalConfig.kmk | ${WRKSRC}/LocalConfig.kmk | ||||
@${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \ | @${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \ | ||||
${WRKSRC}/LocalConfig.kmk | ${WRKSRC}/LocalConfig.kmk | ||||
.endif | .endif | ||||
.if ${COMPILER_TYPE} == clang | |||||
@${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ | @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ | ||||
-e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk | -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk | ||||
@${REINPLACE_CMD} -e 's| -fpermissive||' ${WRKSRC}/Config.kmk \ | @${REINPLACE_CMD} -e 's| -fpermissive||' ${WRKSRC}/Config.kmk \ | ||||
${WRKSRC}/src/VBox/Main/webservice/Makefile.kmk | ${WRKSRC}/src/VBox/Main/webservice/Makefile.kmk | ||||
@${ECHO_CMD} 'TOOL_VBoxGccFreeBSD_LD = ${CXX}' >> ${WRKSRC}/LocalConfig.kmk | @${ECHO_CMD} 'TOOL_VBoxGccFreeBSD_LD = ${CXX}' >> ${WRKSRC}/LocalConfig.kmk | ||||
@${SED} -e 's|GXX3|VBoxGccFreeBSD|g' \ | @${SED} -e 's|GXX3|VBoxGccFreeBSD|g' \ | ||||
${LOCALBASE}/share/kBuild/tools/GXX3.kmk > \ | ${LOCALBASE}/share/kBuild/tools/GXX3.kmk > \ | ||||
${WRKSRC}/tools/kBuildTools/VBoxGccFreeBSD.kmk | ${WRKSRC}/tools/kBuildTools/VBoxGccFreeBSD.kmk | ||||
.endif | |||||
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ | @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ | ||||
${WRKSRC}/Config.kmk ${WRKSRC}/configure \ | ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ | ||||
${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ | ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ | ||||
${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ | ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ | ||||
${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py | ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py | ||||
@${REINPLACE_CMD} \ | @${REINPLACE_CMD} \ | ||||
-e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ | -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ | ||||
-e 's|SUPPYTHONLIBS=.*|SUPPYTHONLIBS="${PYTHON_VERSION}${PYTHON_ABIVER}"|' \ | -e 's|SUPPYTHONLIBS=.*|SUPPYTHONLIBS="${PYTHON_VERSION}${PYTHON_ABIVER}"|' \ | ||||
▲ Show 20 Lines • Show All 107 Lines • Show Last 20 Lines |