Index: sysutils/uefi-edk2-qemu/Makefile =================================================================== --- sysutils/uefi-edk2-qemu/Makefile +++ sysutils/uefi-edk2-qemu/Makefile @@ -1,5 +1,5 @@ PORTNAME= uefi-edk2-qemu -DISTVERSION= g20191122 +DISTVERSION= g202202 CATEGORIES= sysutils MAINTAINER= bcran@FreeBSD.org @@ -11,78 +11,92 @@ 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 + python:3.7+,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 +GH_ACCOUNT= tianocore +GH_PROJECT= edk2 +GH_TAGNAME= edk2-stable202202 +GH_TUPLE= ucb-bar:berkeley-softfloat-3:master:softfloat/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 \ + google:brotli:v1.0.9-35-gf4153a0:brotli/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli \ + openssl:openssl:OpenSSL_1_1_1j:openssl/CryptoPkg/Library/OpensslLib/openssl \ + kkos:oniguruma:v6.9.4_mark1:oniguruma/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma \ + akheron:jansson:v2.13.1:jansson/RedfishPkg/Library/JsonLib/jansson \ + +BINARY_ALIAS= make=${LOCALBASE}/bin/gmake \ + 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} 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 +DEBUG_VARS= PLAT_TARGET=DEBUG +DEBUG_VARS_OFF= PLAT_TARGET=RELEASE +HTTP_BOOT_VARS= PLAT_ARGS+=-DHTTP_BOOT_ENABLE=TRUE + +PLAT_ARGS+= -DDEBUG_ON_SERIAL_PORT=TRUE .if "${FLAVOR:U}" != i386 -EDK2ARCH=X64 -EDK2BLDDIR=X64 -PKGSUFFIX=x86_64 +PLAT_ARCH= X64 +EDK2BLDDIR= X64 +PKGSUFFIX= x86_64 +PLAT_FILE= OvmfPkg/OvmfPkgX64.dsc .endif .if ${FLAVOR:U} == i386 -EDK2ARCH=IA32 -EDK2BLDDIR=Ia32 -PKGSUFFIX=i386 +PLAT_ARCH= IA32 +EDK2BLDDIR= Ia32 +PKGSUFFIX= i386 +PLAT_FILE= OvmfPkg/OvmfPkgIa32.dsc .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 +PLAT_RESULT_CODE= Ovmf${EDK2BLDDIR}/${PLAT_TARGET}_GCC5/FV/OVMF_CODE.fd +PLAT_RESULT_VARS= Ovmf${EDK2BLDDIR}/${PLAT_TARGET}_GCC5/FV/OVMF_VARS.fd + +# Emulate source edk2/edksetup.sh +MAKE_ENV+= WORKSPACE=${WRKDIR} \ + PACKAGES_PATH=${WRKDIR}/edk2-${GH_TAGNAME} \ + 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 + +# 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: - 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} \ - " + # 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 -j ${MAKE_JOBS_NUMBER} ${_MAKE_JOBS}) + # Build EDK2 + (cd ${WRKDIR}/edk2-${GH_TAGNAME} && ${SETENV} ${MAKE_ENV} BaseTools/BinWrappers/PosixLike/build -a ${PLAT_ARCH} -p ${PLAT_FILE} -n ${MAKE_JOBS_NUMBER} -t GCC5 -b ${PLAT_TARGET} ${PLAT_ARGS}) do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/uefi-edk2-qemu/ - ${INSTALL} ${BUILD_WRKSRC}/Build/Ovmf${EDK2BLDDIR}/${UEFI_TARGET}_GCC5/FV/OVMF_CODE.fd \ + ${INSTALL} ${WRKDIR}/Build/${PLAT_RESULT_CODE} \ ${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 \ + ${INSTALL} ${WRKDIR}/Build/${PLAT_RESULT_VARS} \ ${STAGEDIR}${PREFIX}/share/uefi-edk2-qemu/QEMU_UEFI_VARS${PLIST_SUFFIX}-${PKGSUFFIX}.fd .include Index: sysutils/uefi-edk2-qemu/distinfo =================================================================== --- sysutils/uefi-edk2-qemu/distinfo +++ sysutils/uefi-edk2-qemu/distinfo @@ -1,5 +1,13 @@ -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 +TIMESTAMP = 1648431130 +SHA256 (tianocore-edk2-g202202-edk2-stable202202_GH0.tar.gz) = 072e84dfe3c8fbb35bb058dcc8b0f623fe831cead74ba81b0f8236d00a03e947 +SIZE (tianocore-edk2-g202202-edk2-stable202202_GH0.tar.gz) = 14208170 +SHA256 (ucb-bar-berkeley-softfloat-3-master_GH0.tar.gz) = 01ed06cf7c3eb038a8a7421d720be591e207d38cc40f02b08e1d24cc29e31f14 +SIZE (ucb-bar-berkeley-softfloat-3-master_GH0.tar.gz) = 148788 +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 (openssl-openssl-OpenSSL_1_1_1j_GH0.tar.gz) = 22d6588e4a7c5ad48fcac2fbf1d035bd43258c22a49457dad0539ded0651b4d2 +SIZE (openssl-openssl-OpenSSL_1_1_1j_GH0.tar.gz) = 9994760 +SHA256 (kkos-oniguruma-v6.9.4_mark1_GH0.tar.gz) = 7f7576c926f7d4a071d594a01691c477bbb9391df250378bd5e1c003d42b4318 +SIZE (kkos-oniguruma-v6.9.4_mark1_GH0.tar.gz) = 592141 +SHA256 (akheron-jansson-v2.13.1_GH0.tar.gz) = f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0 +SIZE (akheron-jansson-v2.13.1_GH0.tar.gz) = 144979