sysutils/edk2: Add qemu_x64 and qemu_i386 as new FLAVORs of edk2

Instead of having a separate sysutils/uefi-edk2-qemu port, add qemu_x64
and qemu_i386 as FLAVORs of sysutils/edk2 and delete sysutils/uefi-edk2-qemu.

Differential Revision: https://reviews.freebsd.org/D35408
Approved by: manu
This commit is contained in:
Rebecca Cran 2022-05-25 20:35:49 -06:00
parent 8abceb5f38
commit 177204e319
6 changed files with 32 additions and 109 deletions

1
MOVED
View file

@ -17191,3 +17191,4 @@ www/rubygem-faraday110|www/rubygem-faraday|2022-06-03|Obsolete, please use www/r
www/npm-node17|www/npm-node18|2022-06-03|Renamed for www/node update to v18
www/yarn-node17|www/yarn-node18|2022-06-03|Renamed for www/node update to v18
security/keepassx-devel||2022-06-05|Has expired: KeePassX had been stopped development/maintenance, please consider using security/keepassxc instead
sysutils/uefi-edk2-qemu|sysutils/edk2@qemu|2022-06-05|No more need for this port: please use sysutils/edk2 FLAVOR qemu instead

View file

@ -1476,7 +1476,6 @@
SUBDIR += ucspi-unix
SUBDIR += udfclient
SUBDIR += uefi-edk2-bhyve-csm
SUBDIR += uefi-edk2-qemu
SUBDIR += ufetch
SUBDIR += ufs_copy
SUBDIR += uhidd

View file

@ -12,7 +12,7 @@ ONLY_FOR_ARCHS= aarch64 amd64
ONLY_FOR_ARCHS_REASON= only provides firmware for aarch64 and amd64
PKGNAMESUFFIX= -${FLAVOR:C/_/-/g}
FLAVORS= macchiatobin fvp rpi3 rpi4 xen_x64 bhyve
FLAVORS= macchiatobin fvp rpi3 rpi4 xen_x64 bhyve qemu_x64 qemu_i386
USES= cpe gmake python:3.7+,build
CPE_VENDOR= tianocore
@ -111,6 +111,36 @@ PLAT_FILENAME_CODE = BHYVE_UEFI_CODE.fd
PLAT_FILENAME_VARS = BHYVE_UEFI_VARS.fd
.endif
.if ${FLAVOR} == qemu_x64
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64
PLAT= qemu
PLAT_ARCH= X64
PLAT_TARGET= RELEASE
PLATFILE= OvmfPkg/OvmfPkgX64.dsc
PLAT_RESULT= OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF.fd
PLAT_RESULT_CODE= OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd
PLAT_RESULT_VARS= OvmfX64/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd
PLAT_FILENAME= QEMU_UEFI-x86_64.fd
PLAT_FILENAME_CODE = QEMU_UEFI_CODE-x86_64.fd
PLAT_FILENAME_VARS = QEMU_UEFI_VARS-x86_64.fd
.endif
.if ${FLAVOR} == qemu_i386
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64
PLAT= qemu
PLAT_ARCH= IA32
PLAT_TARGET= RELEASE
PLATFILE= OvmfPkg/OvmfPkgIa32.dsc
PLAT_RESULT= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF.fd
PLAT_RESULT_CODE= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd
PLAT_RESULT_VARS= OvmfIa32/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd
PLAT_FILENAME= QEMU_UEFI-i386.fd
PLAT_FILENAME_CODE = QEMU_UEFI_CODE-i386.fd
PLAT_FILENAME_VARS = QEMU_UEFI_VARS-i386.fd
.endif
PLIST_FILES= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME}
.if defined(PLAT_FILENAME_CODE)
PLIST_FILES+= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE}

View file

@ -1,88 +0,0 @@
PORTNAME= uefi-edk2-qemu
DISTVERSION= g20191122
CATEGORIES= sysutils
MAINTAINER= bcran@FreeBSD.org
COMMENT= OVMF package providing UEFI system 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
USES= gmake \
python:3.4+,build
USE_GCC= yes:build
x86_64_PKGNAMESUFFIX= -x86_64
i386_PKGNAMESUFFIX= -i386
USE_GITHUB= yes
GH_ACCOUNT= tianocore openssl:ssl
GH_PROJECT= edk2 openssl:ssl
GH_TAGNAME= edk2-stable201911 c3656cc594daac8167721dde7220f0e59ae146fc: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 ${PYTHON_CMD} ${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 <bsd.port.mk>

View file

@ -1,5 +0,0 @@
TIMESTAMP = 1580529840
SHA256 (tianocore-edk2-g20191122-edk2-stable201911_GH0.tar.gz) = 23affd4ca2ba526747e72cbb350a4c95d192ac14eeb616778b1976577ed06001
SIZE (tianocore-edk2-g20191122-edk2-stable201911_GH0.tar.gz) = 13821169
SHA256 (openssl-openssl-c3656cc594daac8167721dde7220f0e59ae146fc_GH0.tar.gz) = 54bf99246115cccacd20edca58b4ebb5c9701b36ee20f03b8024038914baa90e
SIZE (openssl-openssl-c3656cc594daac8167721dde7220f0e59ae146fc_GH0.tar.gz) = 9019630

View file

@ -1,14 +0,0 @@
Unified Extensible Firmware Interface (UEFI) compliant firmware can be
developed using the EFI Development Kit II (EDK2).
UEFI provides a specification for modern system (boot) firmware for x86,
x86_64, arm and arm64 machines. This system firmware was previously
called a 'BIOS'.
This package contains the Open Virtual Machine Firmware (OVMF) package
from the TianoCore EDK II project configured to run under QEMU.
More information about OVMF can be found at
https://github.com/tianocore/tianocore.github.io/wiki/OVMF .
WWW: https://github.com/tianocore/edk2