Index: head/sysutils/uefi-edk2-qemu/Makefile =================================================================== --- head/sysutils/uefi-edk2-qemu/Makefile +++ head/sysutils/uefi-edk2-qemu/Makefile @@ -0,0 +1,90 @@ +# $FreeBSD$ + +PORTNAME= uefi-edk2-qemu +DISTVERSION= g20190307 +CATEGORIES= sysutils + +MAINTAINER= bcran@FreeBSD.org +COMMENT= UEFI-EDK2 firmware for QEMU + +LICENSE= BSD2CLAUSE + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= bash:shells/bash \ + nasm:devel/nasm \ + ${PYTHON_PKGNAMEPREFIX}sqlite3>=2.7:databases/py-sqlite3@${PY_FLAVOR} + +FLAVORS= x86_64 i386 + +x86_64_PKGNAMESUFFIX= -x86_64 +i386_PKGNAMESUFFIX= -i386 + +USES= gmake \ + python:2.7,build + +USE_GCC= 8+ +USE_GITHUB= yes +GH_ACCOUNT= tianocore openssl:ssl +GH_PROJECT= edk2 openssl:ssl +GH_TAGNAME= edk2-stable201903 OpenSSL_1_1_0j:ssl +GH_SUBDIR= CryptoPkg/Library/OpensslLib/openssl:ssl + +PLIST_FILES= share/uefi-edk2-qemu/QEMU_UEFI_CODE${PLIST_SUFFIX}-${PKGSUFFIX}.fd \ + share/uefi-edk2-qemu/QEMU_UEFI_VARS${PLIST_SUFFIX}-${PKGSUFFIX}.fd + +MAKE_ARGS= EXTRA_LDFLAGS=-static +BUILD_ARGS= -DDEBUG_ON_SERIAL_PORT=TRUE + +OPTIONS_DEFINE= DEBUG HTTP_BOOT +OPTIONS_DEFAULT=HTTP_BOOT + +DEBUG_DESC= Build a debug configuration +HTTP_BOOT_DESC= Build with HTTP(S) boot support + +DEBUG_VARS= uefi_target=DEBUG +DEBUG_VARS_OFF= uefi_target=RELEASE +HTTP_BOOT_VARS= build_args+=-DHTTP_BOOT_ENABLE=TRUE + +.if "${FLAVOR:U}" != i386 +EDK2ARCH=X64 +EDK2BLDDIR=X64 +PKGSUFFIX=x86_64 +.endif + +.if ${FLAVOR:U} == i386 +EDK2ARCH=IA32 +EDK2BLDDIR=Ia32 +PKGSUFFIX=i386 +.endif + +post-patch: + ${MKDIR} ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}; + ${LN} -sf ${LOCALBASE}/bin/gcc${GCC_DEFAULT} ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/gcc + ${LN} -sf ${LOCALBASE}/bin/gcc${GCC_DEFAULT} ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/cc + ${LN} -sf ${LOCALBASE}/bin/g++${GCC_DEFAULT} ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/g++ + ${LN} -sf ${LOCALBASE}/bin/ld ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/ld + ${LN} -sf ${LOCALBASE}/bin/gmake ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/make + ${LN} -sf ${LOCALBASE}/bin/gcc-ar${GCC_DEFAULT} ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/gcc-ar + ${LN} -sf ${LOCALBASE}/bin/gcc-nm${GCC_DEFAULT} ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/gcc-nm + ${LN} -sf ${LOCALBASE}/bin/objcopy ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/objcopy + ${LN} -sf ${LOCALBASE}/bin/python2.7 ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/python + ${LN} -sf ${LOCALBASE}/bin/nasm ${BUILD_WRKSRC}/BaseTools/Bin/FreeBSD-${MACHINE}/nasm + +do-build: + bash -c "cd ${WRKSRC}; . ./edksetup.sh; ${MAKE_CMD} -j4 ${MAKE_ARGS} -C ${WRKSRC}/BaseTools" + bash -c " \ + cd ${BUILD_WRKSRC}; \ + unset ARCH; unset MAKEFLAGS; \ + . ./edksetup.sh; \ + build -t GCC5 -a ${EDK2ARCH} -b ${UEFI_TARGET} -p OvmfPkg/OvmfPkg${EDK2ARCH}.dsc ${BUILD_ARGS} \ + " + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/share/uefi-edk2-qemu/ + ${INSTALL} ${BUILD_WRKSRC}/Build/Ovmf${EDK2BLDDIR}/${UEFI_TARGET}_GCC5/FV/OVMF_CODE.fd \ + ${STAGEDIR}${PREFIX}/share/uefi-edk2-qemu/QEMU_UEFI_CODE${PLIST_SUFFIX}-${PKGSUFFIX}.fd + ${INSTALL} ${BUILD_WRKSRC}/Build/Ovmf${EDK2BLDDIR}/${UEFI_TARGET}_GCC5/FV/OVMF_VARS.fd \ + ${STAGEDIR}${PREFIX}/share/uefi-edk2-qemu/QEMU_UEFI_VARS${PLIST_SUFFIX}-${PKGSUFFIX}.fd + +.include Index: head/sysutils/uefi-edk2-qemu/distinfo =================================================================== --- head/sysutils/uefi-edk2-qemu/distinfo +++ head/sysutils/uefi-edk2-qemu/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1554843803 +SHA256 (tianocore-edk2-g20190307-edk2-stable201903_GH0.tar.gz) = 4ec9bc5036c8c7daa1caa743c63df184ac18b119fdae8ad81f939921ba08c065 +SIZE (tianocore-edk2-g20190307-edk2-stable201903_GH0.tar.gz) = 34067318 +SHA256 (openssl-openssl-OpenSSL_1_1_0j_GH0.tar.gz) = 95f9d879e66f76711db28d8c2f24ab4e049ab7d5afb7266238a312c95bb9f338 +SIZE (openssl-openssl-OpenSSL_1_1_0j_GH0.tar.gz) = 5949610 Index: head/sysutils/uefi-edk2-qemu/files/patch-CryptoPkg_Library_OpensslLib_openssl_crypto_uid.c =================================================================== --- head/sysutils/uefi-edk2-qemu/files/patch-CryptoPkg_Library_OpensslLib_openssl_crypto_uid.c +++ head/sysutils/uefi-edk2-qemu/files/patch-CryptoPkg_Library_OpensslLib_openssl_crypto_uid.c @@ -0,0 +1,11 @@ +--- CryptoPkg/Library/OpensslLib/openssl/crypto/uid.c.orig 2019-03-20 05:39:21 UTC ++++ CryptoPkg/Library/OpensslLib/openssl/crypto/uid.c +@@ -14,6 +14,8 @@ + + # include OPENSSL_UNISTD + ++int issetugid(void); ++ + int OPENSSL_issetugid(void) + { + return issetugid(); Index: head/sysutils/uefi-edk2-qemu/pkg-descr =================================================================== --- head/sysutils/uefi-edk2-qemu/pkg-descr +++ head/sysutils/uefi-edk2-qemu/pkg-descr @@ -0,0 +1,6 @@ +UEFI-EDK2 firmware for QEMU. +This package contains the TianoCore EDK2 OVMF (Open Virtual Machine Firmware) +configured to run under QEMU. +OVMF provides UEFI firmware for virtual machines. + +WWW: https://github.com/tianocore/edk2