diff options
author | Keshav Amburay | 2013-07-15 19:42:15 +0530 |
---|---|---|
committer | Keshav Amburay | 2013-07-15 19:42:15 +0530 |
commit | 6febfa7707a8ec41cf4d2521a246353892aa126e (patch) | |
tree | f2f0fd293f363ad13ba682312a32228cec288ab7 /PKGBUILD | |
download | aur-6febfa7707a8ec41cf4d2521a246353892aa126e.tar.gz |
Initial Commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5c5af02f6346 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,154 @@ +# Maintainer : Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +####### +_TIANOCORE_SVN_URL="https://svn.code.sf.net/p/edk2/code/trunk/edk2" +_TIANO_DIR_="tianocore-edk2-svn" +####### + +####### +_TIANOCORE_PKG="Shell" +_UDK_TARGET="${_TIANOCORE_PKG}Pkg/${_TIANOCORE_PKG}Pkg.dsc" +_TIANOCORE_TARGET="RELEASE" +_COMPILER="GCC46" +####### + +_pkgname="uefi-shell" +pkgname="${_pkgname}-svn" + +pkgver=14467 +pkgrel=1 +pkgdesc="UEFI Shell v2 - from Tianocore EDK2 - SVN Version" +url="http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF" +arch=('x86_64' 'i686') +license=('BSD') + +makedepends=('subversion' 'python2' 'iasl') + +options=('!strip' 'docs' '!makeflags') + +conflicts=('uefi-shell') +provides=('uefi-shell') + +install="${_pkgname}.install" + +for _DIR_ in BaseTools MdePkg MdeModulePkg ShellPkg ; do + source+=("${_TIANO_DIR_}/${_DIR_}::svn+${_TIANOCORE_SVN_URL}/${_DIR_}") +done + +sha1sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +[[ "${CARCH}" == "x86_64" ]] && _TIANO_ARCH="X64" +[[ "${CARCH}" == "i686" ]] && _TIANO_ARCH="IA32" + +[[ "${CARCH}" == "x86_64" ]] && _TIANO_S_ARCH="x64" +[[ "${CARCH}" == "i686" ]] && _TIANO_S_ARCH="ia32" + +pkgver() { + cd "${srcdir}/${_TIANOCORE_PKG}Pkg/" + svnversion | tr -d [A-z] +} + +_setup_env_vars() { + + msg "Setup UDK PATH ENV variables" + export _UDK_DIR="${srcdir}/${_TIANO_DIR_}_build" + export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools" + +} + +_prepare_tianocore_sources() { + + msg "Delete old UDK BUILD dir" + rm -rf "${_UDK_DIR}/" || true + + msg "Create UDK BUILD dir" + mkdir -p "${_UDK_DIR}/" + + for _DIR_ in BaseTools MdePkg MdeModulePkg ShellPkg ; do + mv "${srcdir}/${_DIR_}" "${_UDK_DIR}/${_DIR_}" + done + + cd "${_UDK_DIR}/" + + msg "Cleanup UDK config files" + rm -rf "${_UDK_DIR}/Build/" || true + rm -rf "${_UDK_DIR}/Conf/" || true + mkdir -p "${_UDK_DIR}/Conf/" + mkdir -p "${_UDK_DIR}/Build/" + + msg "Use python2 for UDK BaseTools" + sed 's|python |python2 |g' -i "${EDK_TOOLS_PATH}/BinWrappers/PosixLike"/* || true + sed 's|python |python2 |g' -i "${EDK_TOOLS_PATH}/Tests/GNUmakefile" + + msg "Fix GCC Warning as error" + sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Source/C/Makefiles/header.makefile" || true + sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix GCC >=4.7 error - gcc: error: unrecognized command line option '-melf_x86_64'" + sed 's| -m64 --64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's|--64 | |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's| -m64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Remove GCC -g debug option and add -0s -mabi=ms" + sed 's|DEFINE GCC_ALL_CC_FLAGS = -g |DEFINE GCC_ALL_CC_FLAGS = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + sed 's|DEFINE GCC44_ALL_CC_FLAGS = -g |DEFINE GCC44_ALL_CC_FLAGS = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true + + msg "Fix UDK Target Platform" + sed "s|ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc|ACTIVE_PLATFORM = ${_UDK_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|TARGET = DEBUG|TARGET = ${_TIANOCORE_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|TOOL_CHAIN_TAG = MYTOOLS|TOOL_CHAIN_TAG = ${_COMPILER}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + sed "s|IA32|X64|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true + + chmod 0755 "${_UDK_DIR}/BaseTools/BuildEnv" + +} + +prepare() { + + _setup_env_vars + + msg "Prepare Tianocore Sources" + _prepare_tianocore_sources + echo + +} + +build() { + + _setup_env_vars + + cd "${_UDK_DIR}/" + + msg "Unset all compiler FLAGS" + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + msg "Setup UDK Environment" + source "${_UDK_DIR}/BaseTools/BuildEnv" BaseTools + echo + + msg "Compile UDK BaseTools" + make -C "${EDK_TOOLS_PATH}" + echo + + msg "Compile UEFI Shell v2 binary" + "${EDK_TOOLS_PATH}/BinWrappers/PosixLike/build" -p "${_UDK_TARGET}" -a "${_TIANO_ARCH}" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}" + echo + +} + +package() { + + _setup_env_vars + + msg "Install the UEFI Shell v2 binary" + install -d "${pkgdir}/usr/share/uefi" + install -D -m0644 "${_UDK_DIR}/Build/${_TIANOCORE_PKG}/${_TIANOCORE_TARGET}_${_COMPILER}/${_TIANO_ARCH}/Shell.efi" "${pkgdir}/usr/share/uefi/shell${_TIANO_S_ARCH}_v2.efi" + +} |