2016-07-06 01:26:52 +02:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= uefi-edk2-bhyve
|
|
|
|
PORTVERSION= 20160704
|
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
2017-09-10 22:55:38 +02:00
|
|
|
PORTREVISION= 2
|
2016-07-06 01:26:52 +02:00
|
|
|
CATEGORIES= sysutils
|
|
|
|
|
|
|
|
MAINTAINER= fabian.freyer@physik.tu-berlin.de
|
2016-07-09 18:10:08 +02:00
|
|
|
COMMENT?= UEFI-EDK2 firmware for bhyve
|
2016-07-06 01:26:52 +02:00
|
|
|
|
|
|
|
LICENSE= BSD2CLAUSE
|
|
|
|
|
|
|
|
BUILD_DEPENDS= bash:shells/bash \
|
|
|
|
nasm:devel/nasm \
|
2017-12-03 09:25:31 +01:00
|
|
|
${PYTHON_LIBDIR}/lib-dynload/_sqlite3.so:databases/py-sqlite3@${PY_FLAVOR}
|
2016-07-06 01:26:52 +02:00
|
|
|
|
|
|
|
USES= gmake \
|
2017-11-06 16:28:51 +01:00
|
|
|
python:2.7,build
|
2016-07-09 18:10:08 +02:00
|
|
|
USE_GCC= 4.8
|
2016-07-06 01:26:52 +02:00
|
|
|
USE_GITHUB= yes
|
|
|
|
GH_ACCOUNT= freebsd
|
|
|
|
GH_PROJECT= uefi-edk2
|
|
|
|
GH_TAGNAME= a36132939e259df79b16699c03c6f1d63c7454b9
|
|
|
|
|
2016-07-09 18:10:08 +02:00
|
|
|
PLIST_FILES= ${PREFIX}/share/uefi-firmware/BHYVE_UEFI${PLIST_SUFFIX}.fd
|
2016-07-06 01:26:52 +02:00
|
|
|
|
|
|
|
ONLY_FOR_ARCHS= amd64
|
|
|
|
|
2016-07-09 18:10:08 +02:00
|
|
|
OPTIONS_DEFINE= DEBUG
|
2016-07-06 01:26:52 +02:00
|
|
|
|
2016-07-09 18:10:08 +02:00
|
|
|
DEBUG_VARS= uefi_target=DEBUG
|
2016-07-06 01:26:52 +02:00
|
|
|
DEBUG_VARS_OFF= uefi_target=RELEASE
|
|
|
|
|
|
|
|
MAKE_ARGS+= AS=${LOCALBASE}/bin/as \
|
|
|
|
AR=${LOCALBASE}/bin/ar \
|
|
|
|
LD=${LOCALBASE}/bin/ld \
|
|
|
|
OBJCOPY=${LOCALBASE}/bin/objcopy \
|
|
|
|
CC=${LOCALBASE}/bin/gcc48 \
|
|
|
|
CXX=${LOCALBASE}/bin/g++48
|
|
|
|
|
|
|
|
BUILD_ARGS=-DDEBUG_ON_SERIAL_PORT=TRUE -D FD_SIZE_2MB
|
|
|
|
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
|
2016-07-09 18:10:08 +02:00
|
|
|
.if defined(WITH_CSM)
|
|
|
|
PLIST_SUFFIX= _CSM
|
|
|
|
BUILD_ARGS+= -DCSM_ENABLE=TRUE
|
|
|
|
.endif
|
|
|
|
|
2016-07-06 01:26:52 +02:00
|
|
|
post-extract:
|
|
|
|
@${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|' ${WRKSRC}/BaseTools/Tests/GNUmakefile \
|
|
|
|
${WRKSRC}/BaseTools/BinWrappers/PosixLike/*
|
|
|
|
|
|
|
|
do-build:
|
|
|
|
unset ARCH; unset MAKEFLAGS; ${MAKE_CMD} ${MAKE_ARGS} -C ${BUILD_WRKSRC}/BaseTools
|
|
|
|
${MKDIR} ${BUILD_WRKSRC}/Build;
|
|
|
|
${LN} -sf ${LOCALBASE}/bin/gcc48 ${BUILD_WRKSRC}/Build/gcc
|
|
|
|
${LN} -sf ${LOCALBASE}/bin/ld ${BUILD_WRKSRC}/Build/ld
|
|
|
|
${LN} -sf ${LOCALBASE}/bin/gmake ${BUILD_WRKSRC}/Build/make
|
|
|
|
${LN} -sf ${LOCALBASE}/bin/ar ${BUILD_WRKSRC}/Build/ar
|
|
|
|
${LN} -sf ${LOCALBASE}/bin/objcopy ${BUILD_WRKSRC}/Build/objcopy
|
|
|
|
${LN} -sf ${LOCALBASE}/bin/nasm ${BUILD_WRKSRC}/Build/nasm
|
2016-07-09 18:10:08 +02:00
|
|
|
.if defined(WITH_CSM)
|
2016-07-06 01:26:52 +02:00
|
|
|
bash -c " \
|
|
|
|
cd ${BUILD_WRKSRC}; \
|
|
|
|
source edksetup.sh;\
|
|
|
|
unset ARCH; unset MAKEFLAGS; \
|
|
|
|
${MAKE_CMD} ${MAKE_ARGS} GCC48_BIN=${BUILD_WRKSRC}/Build/ -C ${BUILD_WRKSRC}/BhyvePkg/Csm/BhyveCsm16/"
|
|
|
|
.endif
|
|
|
|
bash -c " \
|
|
|
|
cd ${BUILD_WRKSRC}; \
|
|
|
|
source edksetup.sh;\
|
|
|
|
unset ARCH; unset MAKEFLAGS; \
|
|
|
|
export GCC48_BIN=${BUILD_WRKSRC}/Build/; \
|
|
|
|
build -t GCC48 -a X64 -b ${UEFI_TARGET} -p BhyvePkg/BhyvePkgX64.dsc ${BUILD_ARGS} \
|
|
|
|
"
|
|
|
|
|
|
|
|
do-install:
|
2016-07-09 18:10:08 +02:00
|
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/share/uefi-firmware/
|
2016-07-06 01:26:52 +02:00
|
|
|
${INSTALL} ${BUILD_WRKSRC}/Build/BhyveX64/${UEFI_TARGET}_GCC48/FV/BHYVE.fd \
|
2016-07-09 18:10:08 +02:00
|
|
|
${STAGEDIR}${PREFIX}/share/uefi-firmware/BHYVE_UEFI${PLIST_SUFFIX}.fd
|
2016-07-06 01:26:52 +02:00
|
|
|
|
|
|
|
.include <bsd.port.mk>
|