diff options
Diffstat (limited to 'repo/edk2/edk2.xibuild')
-rw-r--r-- | repo/edk2/edk2.xibuild | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/repo/edk2/edk2.xibuild b/repo/edk2/edk2.xibuild new file mode 100644 index 0000000..d4deb4a --- /dev/null +++ b/repo/edk2/edk2.xibuild @@ -0,0 +1,84 @@ +#!/bin/sh + +NAME="edk2" +DESC="EFI Development Kit II" + +MAKEDEPS=" bash python iasl nasm util-linux util-linux-misc" + +PKG_VER=0.0.202202 +_realver=edk2-stable${PKG_VER##*.} +_sslver=1.1.1n +_sfver=3e +SOURCE="https://github.com/tianocore/edk2/archive/$_realver.tar.gz" + +ADDITIONAL=" +https://www.openssl.org/source/openssl-$_sslver.tar.gz +http://www.jhauser.us/arithmetic/SoftFloat-$_sfver.zip +0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch +0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch +build-hack.patch +disable-werror.patch +" + +TARGET_ARCH=X64 +PLATFORM=OvmfPkg/OvmfPkgX64.dsc + +TOOLCHAIN=GCC5 +RELEASE=RELEASE + + +prepare() { + # unix line endings for the files to be patched + sed -e 's/\r$//' -i BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp \ + BaseTools/Source/C/VolInfo/VolInfo.c + rm -rf CryptoPkg/Library/OpensslLib/openssl + ln -s "$BUILD_ROOT"/openssl-$_sslver CryptoPkg/Library/OpensslLib/openssl + rm -rf ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 + ln -s "$BUILD_ROOT"/SoftFloat-$_sfver \ + ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 + apply_patches +} + +build() { + export WORKSPACE=$PWD + export PACKAGES_PATH=$PWD + export EDK_TOOLS_PATH=$PWD/BaseTools/ + export PATH=$PWD/BaseTools/BinWrappers/PosixLike/:$PATH + # parallel build fails + unset MAKEFLAGS + + bash -c ". edksetup.sh" + make -C BaseTools + + msg "Building Plaform Files" + command build -b $RELEASE \ + -a $TARGET_ARCH \ + -t $TOOLCHAIN \ + -p $PLATFORM \ + -n ${JOBS:-2} +} + +package() { + mkdir -p "$PKG_DEST"/usr/bin \ + "$PKG_DEST"/usr/share/edk2/Conf \ + "$PKG_DEST"/usr/share/edk2/Scripts + + install BaseTools/Source/C/bin/* BaseTools/BinWrappers/PosixLike/LzmaF86Compress \ + "$PKG_DEST"/usr/bin + install BaseTools/BuildEnv "$PKG_DEST"/usr/share/edk2/ + install BaseTools/Conf/*.template "$PKG_DEST"/usr/share/edk2/Conf + install BaseTools/Scripts/GccBase.lds "$PKG_DEST"/usr/share/edk2/Scripts + + for i in $(find BaseTools/Source/Python -type d -maxdepth 1); do + local mod=${i##*/} + test -f "$i/$mod.py" || continue + cp -R BaseTools/Source/Python/"$mod" "$PKG_DEST"/usr/share/edk2/Python/ + cat <<- EOF > "$PKG_DEST"/usr/bin/"$mod".py + #!/bin/sh + export PYTHONPATH=/usr/share/edk2/Python + exec $PYTHON_COMMAND /usr/share/edk2/Python/$mod/$mod.py "\$@" + EOF + chmod +x "$PKG_DEST"/usr/bin/"$mod".py + done +} + |