From 061cccd422334da8788f278c547de4b9468883a9 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 6 Jan 2017 19:16:11 -0300 Subject: ovmf: add new package to [libre] - Bug #1032 -> https://labs.parabola.nu/issues/1032 --- ...tialized-value-in-VfrCompiler-constructor.patch | 37 +++++++++++++ libre/ovmf/PKGBUILD | 61 ++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 libre/ovmf/0001-Fix-uninitialized-value-in-VfrCompiler-constructor.patch create mode 100644 libre/ovmf/PKGBUILD (limited to 'libre') diff --git a/libre/ovmf/0001-Fix-uninitialized-value-in-VfrCompiler-constructor.patch b/libre/ovmf/0001-Fix-uninitialized-value-in-VfrCompiler-constructor.patch new file mode 100644 index 000000000..c04bcaef7 --- /dev/null +++ b/libre/ovmf/0001-Fix-uninitialized-value-in-VfrCompiler-constructor.patch @@ -0,0 +1,37 @@ +From ab9435c71d894018c88c8f5ff89f654f2029d3ed Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Sat, 1 Mar 2014 20:30:57 +0100 +Subject: [PATCH] Fix uninitialized value in VfrCompiler constructor. + +--- + BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 1 + + BaseTools/Source/C/VfrCompile/VfrCompiler.h | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp +index dd34a1b..77b2cab 100644 +--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp ++++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp +@@ -371,6 +371,7 @@ CVfrCompiler::CVfrCompiler ( + { + mPreProcessCmd = (CHAR8 *) PREPROCESSOR_COMMAND; + mPreProcessOpt = (CHAR8 *) PREPROCESSOR_OPTIONS; ++ SET_RUN_STATUS(STATUS_UNKNOWN); + + OptionInitialization(Argc, Argv); + +diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h b/BaseTools/Source/C/VfrCompile/VfrCompiler.h +index ea20bbc..1603961 100644 +--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h ++++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h +@@ -60,6 +60,7 @@ typedef struct { + } OPTIONS; + + typedef enum { ++ STATUS_UNKNOWN = 0, + STATUS_INITIALIZED = 1, + STATUS_PREPROCESSED, + STATUS_COMPILEED, +-- +1.9.0 + diff --git a/libre/ovmf/PKGBUILD b/libre/ovmf/PKGBUILD new file mode 100644 index 000000000..88592d662 --- /dev/null +++ b/libre/ovmf/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer (Arch): Thomas Bächler +# Maintainer: André Silva +pkgname=ovmf +pkgver=20856 +pkgrel=1.parabola1 +arch=('any') +pkgdesc="Tianocore UEFI firmware for qemu, with free FatPkg support" +url="http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2" +license=('custom') +makedepends=('git' 'python2' 'iasl' 'nasm' 'perl-libwww') +source=('edk2::git+https://github.com/tianocore/edk2#branch=UDK2017') +sha256sums=('SKIP') +options=(!makeflags) +_toolchain_opt=GCC49 + +pkgver() { + cd "${srcdir}"/edk2 + printf "$(git rev-list --count HEAD)" +} + +prepare() { + cd "${srcdir}" + # edk2 uses python everywhere, but expects python2 + mkdir bin + ln -s /usr/bin/python2 bin/python +} + +build() { + if [ "$CARCH" != "x86_64" ]; then + error "This package must be built under the x86_64 architecture." + false + fi + export PATH="${srcdir}/bin:$PATH" + cd "${srcdir}/"edk2 + make -C BaseTools + export EDK_TOOLS_PATH="${srcdir}"/edk2/BaseTools + . edksetup.sh BaseTools + + # Set RELEASE target, toolchain and number of build threads + sed "s|^TARGET[ ]*=.*|TARGET = RELEASE|; \ + s|TOOL_CHAIN_TAG[ ]*=.*|TOOL_CHAIN_TAG = ${_toolchain_opt}|; \ + s|MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*|MAX_CONCURRENT_THREAD_NUMBER = $(nproc)|;" -i Conf/target.txt + # Build OVMF for ia32 + sed "s|^TARGET_ARCH[ ]*=.*|TARGET_ARCH = IA32|; \ + s|^ACTIVE_PLATFORM[ ]*=.*|ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc|;" -i Conf/target.txt + ./BaseTools/BinWrappers/PosixLike/build + # Build OVMF for x64 + sed "s|^TARGET_ARCH[ ]*=.*|TARGET_ARCH = X64|; \ + s|^ACTIVE_PLATFORM[ ]*=.*|ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc|;" -i Conf/target.txt + ./BaseTools/BinWrappers/PosixLike/build +} + +package() { + install -D -m644 "${srcdir}"/edk2/Build/OvmfIa32/RELEASE_${_toolchain_opt}/FV/OVMF.fd "${pkgdir}"/usr/share/ovmf/ovmf_ia32.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfIa32/RELEASE_${_toolchain_opt}/FV/OVMF_CODE.fd "${pkgdir}"/usr/share/ovmf/ovmf_code_ia32.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfIa32/RELEASE_${_toolchain_opt}/FV/OVMF_VARS.fd "${pkgdir}"/usr/share/ovmf/ovmf_vars_ia32.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfX64/RELEASE_${_toolchain_opt}/FV/OVMF.fd "${pkgdir}"/usr/share/ovmf/ovmf_x64.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfX64/RELEASE_${_toolchain_opt}/FV/OVMF_CODE.fd "${pkgdir}"/usr/share/ovmf/ovmf_code_x64.bin + install -D -m644 "${srcdir}"/edk2/Build/OvmfX64/RELEASE_${_toolchain_opt}/FV/OVMF_VARS.fd "${pkgdir}"/usr/share/ovmf/ovmf_vars_x64.bin + install -D -m644 "${srcdir}"/edk2/OvmfPkg/License.txt "${pkgdir}"/usr/share/licenses/ovmf/License.txt +} -- cgit v1.2.3