# Copyright 2018 Marc-Antoine Perennou # Distributed under the terms of the GNU General Public License v2 require github [ user=tianocore project=edk2 tag=edk2-stable${PV:0:6} ] SUMMARY="A modern, feature-rich, cross-platform firmware development environment for the UEFI" HOMEPAGE="http://www.tianocore.org/edk2/" # See openssl submodule in https://github.com/tianocore/edk2/tree/master/CryptoPkg/Library/OpensslLib OPENSSL_VERSION="1.1.1n" BROTLI_COMMIT=f4153a09f87cbb9c826d8fc12c74642bb2d879ea DOWNLOADS+=" https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz https://github.com/google/brotli/archive/${BROTLI_COMMIT}.tar.gz " LICENCES="BSD-2" SLOT="0" PLATFORMS="~amd64" MYOPTIONS="" DEPENDENCIES=" build: dev-lang/python:*[>=3.0] dev-lang/nasm sys-power/iasl " OVMF_ARCH="X64" OVMF_BUILD="RELEASE" src_prepare() { local openssl_dir=CryptoPkg/Library/OpensslLib/openssl local brotli_dir local brotli_dirs=( BaseTools/Source/C/BrotliCompress/brotli MdeModulePkg/Library/BrotliCustomDecompressLib/brotli ) default edo rmdir ${openssl_dir} edo ln -s "${WORKBASE}"/openssl-${OPENSSL_VERSION} ${openssl_dir} for brotli_dir in "${brotli_dirs[@]}"; do edo rmdir ${brotli_dir} edo ln -s "${WORKBASE}"/brotli-${BROTLI_COMMIT} ${brotli_dir} done local dir="${WORKBASE}"/symlinked-build-tools local tool edo mkdir -p "${dir}" for tool in ar cc g++ gcc gcc-ar ld objcopy; do edo ln -s /usr/host/bin/$(exhost --tool-prefix)${tool} "${dir}"/${tool} done export PATH="${dir}:${PATH}" } src_compile() { emake BUILD_CC=${CC} BUILD_CXX=${CXX} BUILD_AR=${AR} -C BaseTools . edksetup.sh edo OvmfPkg/build.sh -a ${OVMF_ARCH} -b ${OVMF_BUILD} } src_install() { insinto /usr/share/ovmf/${OVMF_ARCH} doins Build/Ovmf${OVMF_ARCH}/${OVMF_BUILD}_GCC*/FV/OVMF*.fd emagicdocs }