Date: Sun, 9 Aug 2020 17:31:53 +0000 (UTC) From: Emmanuel Vadot <manu@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r544569 - in head/sysutils: . edk2 Message-ID: <202008091731.079HVrm2066349@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: manu Date: Sun Aug 9 17:31:52 2020 New Revision: 544569 URL: https://svnweb.freebsd.org/changeset/ports/544569 Log: sysutils/edk2: Add new port EDK2 is a modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org. The port currently support 3 flavors: macchiatobin, rpi3 and rpi4. Added: head/sysutils/edk2/ head/sysutils/edk2/Makefile (contents, props changed) head/sysutils/edk2/distinfo (contents, props changed) head/sysutils/edk2/pkg-descr (contents, props changed) Modified: head/sysutils/Makefile Modified: head/sysutils/Makefile ============================================================================== --- head/sysutils/Makefile Sun Aug 9 16:41:04 2020 (r544568) +++ head/sysutils/Makefile Sun Aug 9 17:31:52 2020 (r544569) @@ -294,6 +294,7 @@ SUBDIR += ec2-scripts SUBDIR += eclat SUBDIR += edid-decode + SUBDIR += edk2 SUBDIR += eject SUBDIR += eksctl SUBDIR += endian Added: head/sysutils/edk2/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/edk2/Makefile Sun Aug 9 17:31:52 2020 (r544569) @@ -0,0 +1,106 @@ +# $FreeBSD$ + +PORTNAME= edk2 +PORTVERSION= g202005 +CATEGORIES= sysutils + +MAINTAINER= manu@FreeBSD.org +COMMENT= EDK2 Firmware for ${FLAVOR} + +LICENSE= BSD3CLAUSE + +PKGNAMESUFFIX= -${FLAVOR:C/_/-/g} +FLAVORS= macchiatobin rpi3 rpi4 +FLAVOR?= macchiatobin + +USES= gmake python:3.7+,build + +BUILD_DEPENDS+= aarch64-none-elf-gcc:devel/aarch64-none-elf-gcc \ + gcc8:lang/gcc8 \ + 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= b716f363 +NONOSI_TAG= f8023973 + +USE_GITHUB= yes +GH_ACCOUNT= tianocore +GH_TAGNAME= edk2-stable202005 +GH_TUPLE= tianocore:edk2-platforms:${PLATFORM_TAG}:platforms \ + tianocore:edk2-non-osi:${NONOSI_TAG}:nonosi \ + openssl:openssl:OpenSSL_1_1_1d-2-gc3656cc594: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.7-17-g666c328:brotli/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli + +BINARY_ALIAS= make=${LOCALBASE}/bin/gmake \ + dtc=${LOCALBASE}/bin/dtc \ + gcc=${LOCALBASE}/bin/gcc8 \ + g++=${LOCALBASE}/bin/g++8 \ + python3=${PYTHON_CMD} python=${PYTHON_CMD} + +.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 + +PLIST_FILES= ${PREFIX}/share/${PORTNAME}-${PLAT}/${PLAT_FILENAME} + +# 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 +MAKE_ENV+= GCC5_AARCH64_PREFIX=aarch64-none-elf- +.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}/ + +.include <bsd.port.mk> Added: head/sysutils/edk2/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/edk2/distinfo Sun Aug 9 17:31:52 2020 (r544569) @@ -0,0 +1,15 @@ +TIMESTAMP = 1596904500 +SHA256 (tianocore-edk2-g202005-edk2-stable202005_GH0.tar.gz) = 373c3eff3497316a48fcf4be8dcee227431cbce86dcd80a004950e992f0297e2 +SIZE (tianocore-edk2-g202005-edk2-stable202005_GH0.tar.gz) = 12721407 +SHA256 (tianocore-edk2-platforms-b716f363_GH0.tar.gz) = 22de162829ad0bd4be9e6d1eaa42b003d2449d44eff912998acfbaf82eeea1bc +SIZE (tianocore-edk2-platforms-b716f363_GH0.tar.gz) = 7717885 +SHA256 (tianocore-edk2-non-osi-f8023973_GH0.tar.gz) = 36bf3a483350b91a98ed9b5b83210c29c9dce8ab8e5b0d106787e29810a9126a +SIZE (tianocore-edk2-non-osi-f8023973_GH0.tar.gz) = 6903980 +SHA256 (openssl-openssl-OpenSSL_1_1_1d-2-gc3656cc594_GH0.tar.gz) = f5c33990f7319e50ede73a6689ebfbf2c63f42cca6833042d71c1c05e57bb40e +SIZE (openssl-openssl-OpenSSL_1_1_1d-2-gc3656cc594_GH0.tar.gz) = 9017066 +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.7-17-g666c328_GH0.tar.gz) = caed254751585590b20b4a34d6600e9c9aae153ab1f9e1ae6b67f9bc3ee09b92 +SIZE (google-brotli-v1.0.7-17-g666c328_GH0.tar.gz) = 23854268 Added: head/sysutils/edk2/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/edk2/pkg-descr Sun Aug 9 17:31:52 2020 (r544569) @@ -0,0 +1,4 @@ +EDK II Project + +A modern, feature-rich, cross-platform firmware development environment for the +UEFI and PI specifications from www.uefi.org.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008091731.079HVrm2066349>