diff --git a/sysutils/edk2/Makefile b/sysutils/edk2/Makefile index 2a69e0725b6e..c1745cd284ce 100644 --- a/sysutils/edk2/Makefile +++ b/sysutils/edk2/Makefile @@ -1,207 +1,212 @@ PORTNAME= edk2 PORTVERSION= g202202 PORTREVISION= 1 CATEGORIES= sysutils +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES= 22130dcd98b4d4b76ac8d922adb4a2dbc86fa52c.patch:-p1 \ + 85021f8cf22d1bd4114803c6c610dea5ef0059f1.patch:-p1 + MAINTAINER= uboot@FreeBSD.org COMMENT= EDK2 Firmware for ${FLAVOR} LICENSE= BSD3CLAUSE 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 qemu_x64 qemu_i386 USES= cpe gmake python:3.7+,build CPE_VENDOR= tianocore USE_GCC= yes:build BUILD_DEPENDS+= dtc>=1.4.1:sysutils/dtc \ bash:shells/bash # Both platform and non-osi repository don't have release, use latest known to work tag PLATFORM_TAG= 38855c56 NONOSI_TAG= 6996a45d USE_GITHUB= yes GH_ACCOUNT= tianocore GH_TAGNAME= edk2-stable202202 GH_TUPLE= tianocore:edk2-platforms:${PLATFORM_TAG}:platforms \ tianocore:edk2-non-osi:${NONOSI_TAG}:nonosi \ openssl:openssl:OpenSSL_1_1_1j:openssl/CryptoPkg/Library/OpensslLib/openssl \ ucb-bar:berkeley-softfloat-3:master:softfloat/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 \ kkos:oniguruma:v6.9.4_mark1:oniguruma/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma \ google:brotli:v1.0.9-35-gf4153a0:brotli/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli \ akheron:jansson:v2.13.1:jansson/RedfishPkg/Library/JsonLib/jansson BINARY_ALIAS= make=${LOCALBASE}/bin/gmake \ dtc=${LOCALBASE}/bin/dtc \ + ar=${AR} \ gcc=${LOCALBASE}/bin/gcc${GCC_DEFAULT} \ gcc-ar=${LOCALBASE}/bin/gcc-ar${GCC_DEFAULT} \ g++=${LOCALBASE}/bin/g++${GCC_DEFAULT} \ python3=${PYTHON_CMD} python=${PYTHON_CMD} .include .if ${FLAVOR} == fvp PLAT= fvp PLAT_ARCH= AARCH64 PLAT_ARGS= -D X64EMU_ENABLE=FALSE -D CAPSULE_ENABLE=FALSE PLAT_TARGET= RELEASE PLATFILE= Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc PLAT_RESULT= ArmVExpress-FVP-AArch64/${PLAT_TARGET}_GCC5/FV/FVP_AARCH64_EFI.fd PLAT_FILENAME= FVP_AARCH64_EFI.fd .endif .if ${FLAVOR} == macchiatobin PLAT= macchiatobin PLAT_ARCH= AARCH64 PLAT_ARGS= -D X64EMU_ENABLE=TRUE -D CAPSULE_ENABLE=FALSE PLAT_TARGET= RELEASE PLATFILE= Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc PLAT_RESULT= Armada80x0McBin-AARCH64/${PLAT_TARGET}_GCC5/FV/ARMADA_EFI.fd PLAT_FILENAME= ARMADA_EFI.fd .endif .if ${FLAVOR} == rpi3 PLAT= rpi3 PLAT_ARCH= AARCH64 PLAT_ARGS= -D X64EMU_ENABLE=FALSE -D CAPSULE_ENABLE=FALSE PLAT_TARGET= RELEASE PLATFILE= Platform/RaspberryPi/RPi3/RPi3.dsc PLAT_RESULT= RPi3/${PLAT_TARGET}_GCC5/FV/RPI_EFI.fd PLAT_FILENAME= RPI_EFI.fd .endif .if ${FLAVOR} == rpi4 PLAT= rpi4 PLAT_ARCH= AARCH64 PLAT_ARGS= -D X64EMU_ENABLE=FALSE -D CAPSULE_ENABLE=FALSE PLAT_TARGET= RELEASE PLATFILE= Platform/RaspberryPi/RPi4/RPi4.dsc PLAT_RESULT= RPi4/${PLAT_TARGET}_GCC5/FV/RPI_EFI.fd PLAT_FILENAME= RPI_EFI.fd .endif .if ${FLAVOR} == xen_x64 ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= Do not compile on hardware other than amd64 PLAT= xen PLAT_ARCH= X64 PLAT_TARGET= RELEASE PLATFILE= OvmfPkg/OvmfXen.dsc PLAT_RESULT= OvmfXen/${PLAT_TARGET}_GCC5/FV/OVMF.fd PLAT_FILENAME= XEN_X64_EFI.fd .endif .if ${FLAVOR} == bhyve ONLY_FOR_ARCHS= amd64 -ONLY_FOR_ARCHS_REASON= Bhyve only runs on x64 +ONLY_FOR_ARCHS_REASON= Bhyve only runs on x64 PLAT= bhyve PLAT_ARCH= X64 PLAT_TARGET= RELEASE PLATFILE= OvmfPkg/Bhyve/BhyveX64.dsc PLAT_RESULT= BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE.fd PLAT_RESULT_CODE= BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE_CODE.fd PLAT_RESULT_VARS= BhyveX64/${PLAT_TARGET}_GCC5/FV/BHYVE_VARS.fd PLAT_FILENAME= BHYVE_UEFI.fd -PLAT_FILENAME_CODE = BHYVE_UEFI_CODE.fd -PLAT_FILENAME_VARS = BHYVE_UEFI_VARS.fd +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} .endif .if defined(PLAT_FILENAME_VARS) PLIST_FILES+= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} .endif .if ${FLAVOR} == bhyve PLIST_FILES+= ${PREFIX}/share/uefi-firmware/${PLAT_FILENAME} PLIST_FILES+= ${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE} PLIST_FILES+= ${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS} .endif # Emulate source edk2/edksetup.sh MAKE_ENV+= WORKSPACE=${WRKDIR} \ PACKAGES_PATH=${WRKDIR}/edk2-${GH_TAGNAME}:${WRKDIR}/edk2-platforms-${PLATFORM_TAG}:${WRKDIR}/edk2-non-osi-${NONOSI_TAG} \ CONF_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/Conf \ EDK_TOOLS_PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools \ PATH=${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/BinWrappers/PosixLike:${PATH} \ PYTHON_COMMAND=python3 \ PYTHONHASHSEED=1 .if ${PLAT_ARCH} == AARCH64 && ${ARCH} != aarch64 BUILD_DEPENDS+= aarch64-none-elf-gcc:devel/aarch64-none-elf-gcc MAKE_ENV+= GCC5_AARCH64_PREFIX=aarch64-none-elf- .endif .if ${PLAT_ARCH} == X64 || ${PLAT_ARCH} == IA32 BUILD_DEPENDS+= nasm:devel/nasm .endif # We can't have two submodule with the same origin in GH_TUPLE post-extract: (cd ${WRKDIR}/edk2-${GH_TAGNAME}/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli && tar cf - * | tar xf - -C ../../../../BaseTools/Source/C/BrotliCompress/brotli) do-build: # This is normaly done during source edksetup.sh (cp ${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/Conf/build_rule.template ${WRKDIR}/edk2-${GH_TAGNAME}/Conf/build_rule.txt) (cp ${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/Conf/tools_def.template ${WRKDIR}/edk2-${GH_TAGNAME}/Conf/tools_def.txt) (cp ${WRKDIR}/edk2-${GH_TAGNAME}/BaseTools/Conf/target.template ${WRKDIR}/edk2-${GH_TAGNAME}/Conf/target.txt) # Build the basetools (cd ${WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C edk2-${GH_TAGNAME}/BaseTools ${_MAKE_JOBS}) # Build EDK2 (cd ${WRKDIR}/edk2-${GH_TAGNAME} && ${SETENV} ${MAKE_ENV} BaseTools/BinWrappers/PosixLike/build -a ${PLAT_ARCH} -p ${PLATFILE} -n ${MAKE_JOBS_NUMBER} -t GCC5 -b ${PLAT_TARGET} ${PLAT_ARGS}) do-install: ${MKDIR} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/ ${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} .if defined(PLAT_FILENAME_CODE) ${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} .endif .if defined(PLAT_FILENAME_VARS) ${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_VARS} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} .endif .if ${FLAVOR} == bhyve ${INSTALL_DATA} ${WRKDIR}/Build/${PLAT_RESULT_CODE} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} # For backwards compatibility ${MKDIR} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/ ${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME} ${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_CODE} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_CODE} ${RLN} ${STAGEDIR}/${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME_VARS} ${STAGEDIR}/${PREFIX}/share/uefi-firmware/${PLAT_FILENAME_VARS} .endif .include diff --git a/sysutils/edk2/distinfo b/sysutils/edk2/distinfo index 1513f8ccf451..bdc6e79e8afd 100644 --- a/sysutils/edk2/distinfo +++ b/sysutils/edk2/distinfo @@ -1,17 +1,21 @@ -TIMESTAMP = 1651509764 +TIMESTAMP = 1653575598 SHA256 (tianocore-edk2-g202202-edk2-stable202202_GH0.tar.gz) = 072e84dfe3c8fbb35bb058dcc8b0f623fe831cead74ba81b0f8236d00a03e947 SIZE (tianocore-edk2-g202202-edk2-stable202202_GH0.tar.gz) = 14208170 SHA256 (tianocore-edk2-platforms-38855c56_GH0.tar.gz) = 87324cb01f3460a681155b5d12b2e19fa00638a0366c300813c507a1cbe081cb SIZE (tianocore-edk2-platforms-38855c56_GH0.tar.gz) = 10615126 SHA256 (tianocore-edk2-non-osi-6996a45d_GH0.tar.gz) = ddef0aed5014c15c5eedd0c2a838025677ca9a222df74ea1997f49db4d16f197 SIZE (tianocore-edk2-non-osi-6996a45d_GH0.tar.gz) = 18916605 SHA256 (openssl-openssl-OpenSSL_1_1_1j_GH0.tar.gz) = 22d6588e4a7c5ad48fcac2fbf1d035bd43258c22a49457dad0539ded0651b4d2 SIZE (openssl-openssl-OpenSSL_1_1_1j_GH0.tar.gz) = 9994760 SHA256 (ucb-bar-berkeley-softfloat-3-master_GH0.tar.gz) = a40ccfa8d5c04971e6af8014217c93b58fba4d08c337bc0436bb141e9e79426a SIZE (ucb-bar-berkeley-softfloat-3-master_GH0.tar.gz) = 148747 SHA256 (kkos-oniguruma-v6.9.4_mark1_GH0.tar.gz) = 7f7576c926f7d4a071d594a01691c477bbb9391df250378bd5e1c003d42b4318 SIZE (kkos-oniguruma-v6.9.4_mark1_GH0.tar.gz) = 592141 SHA256 (google-brotli-v1.0.9-35-gf4153a0_GH0.tar.gz) = 8deff90317f030d770ab912fbc2a789394ac35c2d68eb5105e1f427aa8f88a3f SIZE (google-brotli-v1.0.9-35-gf4153a0_GH0.tar.gz) = 512041 SHA256 (akheron-jansson-v2.13.1_GH0.tar.gz) = f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0 SIZE (akheron-jansson-v2.13.1_GH0.tar.gz) = 144979 +SHA256 (22130dcd98b4d4b76ac8d922adb4a2dbc86fa52c.patch) = d7e7e46f5c84abc222343182c7c4dfef26cbb78b5a0269514466221211fe050b +SIZE (22130dcd98b4d4b76ac8d922adb4a2dbc86fa52c.patch) = 1672 +SHA256 (85021f8cf22d1bd4114803c6c610dea5ef0059f1.patch) = d4e68faead64d7b808b32bb37aac110f0d7dd98433ec5d145e8de016d6d9ba0a +SIZE (85021f8cf22d1bd4114803c6c610dea5ef0059f1.patch) = 2068