summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorKeshav Amburay2013-07-15 19:42:15 +0530
committerKeshav Amburay2013-07-15 19:42:15 +0530
commit6febfa7707a8ec41cf4d2521a246353892aa126e (patch)
treef2f0fd293f363ad13ba682312a32228cec288ab7 /PKGBUILD
downloadaur-6febfa7707a8ec41cf4d2521a246353892aa126e.tar.gz
Initial Commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD154
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"
+
+}