summaryrefslogtreecommitdiff
path: root/extra/refind-efi/PKGBUILD
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-10 01:01:50 -0700
committerroot <root@rshg054.dnsready.net>2013-07-10 01:01:50 -0700
commitb509d58f0ff9d5b9167eb65b0264d014c8ac9d66 (patch)
tree3f56c991ed763cacd474d208be44d496dbc96b48 /extra/refind-efi/PKGBUILD
parent10aa61ef39e662453e1d817046e359372fe3b326 (diff)
Wed Jul 10 01:01:50 PDT 2013
Diffstat (limited to 'extra/refind-efi/PKGBUILD')
-rw-r--r--extra/refind-efi/PKGBUILD149
1 files changed, 86 insertions, 63 deletions
diff --git a/extra/refind-efi/PKGBUILD b/extra/refind-efi/PKGBUILD
index c201d7bf1..1b5a1435d 100644
--- a/extra/refind-efi/PKGBUILD
+++ b/extra/refind-efi/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 189205 2013-06-29 11:28:10Z tpowa $
+# $Id: PKGBUILD 189851 2013-07-09 13:36:09Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
@@ -16,7 +16,7 @@ _COMPILER="GCC46"
#######
pkgname="refind-efi"
-pkgver="0.7.0"
+pkgver="0.7.1"
pkgrel="1"
pkgdesc="Rod Smith's fork of rEFIt UEFI Boot Manager - built with Tianocore UDK libs"
url="http://www.rodsbooks.com/refind/index.html"
@@ -26,40 +26,47 @@ license=('GPL3' 'custom')
makedepends=('subversion' 'python2')
depends=('dosfstools' 'efibootmgr')
optdepends=('mactel-boot: For bless command in Apple Mac systems'
- 'bash: For /usr/bin/refind-mkfont script'
- 'imagemagick: For /usr/bin/refind-mkfont script')
+ 'bash: For refind-mkfont script'
+ 'imagemagick: For refind-mkfont script')
options=('!strip' 'docs' '!makeflags')
install="${pkgname}.install"
source=("http://downloads.sourceforge.net/refind/refind-src-${pkgver}.zip"
- 'UDK-MdePkg-Revert-PathNodeCount.patch'
'refind_linux.conf')
for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do
source+=("${_TIANO_DIR_}/${_DIR_}::svn+${_TIANOCORE_SVN_URL}/${_DIR_}")
done
+sha1sums=('5e4b15202efc658e58e68e64af8a1b2c84aab175'
+ '3d53eb615c3363d45feb95b9bfbf1d5491bf1c24'
+ 'SKIP'
+ '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"
-_tianocore_udk_common() {
+_setup_env_vars() {
- ## Unset all FLAGS
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- ## Setup UDK Environment variables
+ msg "Setup UDK PATH ENV variables"
export _UDK_DIR="${srcdir}/${_TIANO_DIR_}_build"
export EDK_TOOLS_PATH="${_UDK_DIR}/BaseTools"
+}
+
+_prepare_tianocore_sources() {
+
+ _setup_env_vars
+
+ msg "Delete old UDK BUILD dir"
rm -rf "${_UDK_DIR}/" || true
mkdir -p "${_UDK_DIR}/"
@@ -69,103 +76,127 @@ _tianocore_udk_common() {
cd "${_UDK_DIR}/"
- ## Fix PcdMaximumPathNodeCount compile error
- patch -Np1 -R -i "${srcdir}/UDK-MdePkg-Revert-PathNodeCount.patch"
- echo
-
- ## Cleanup UDK config files
+ 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/"
- ## UDK BaseTools requires python2
+ 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"
- ## Fix GCC Warning as error
+ 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
- ## Fix GCC >=4.7 error - gcc: error: unrecognized command line option '-melf_x86_64'
+ 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
- ## Remove GCC -g debug option and add -0s -mabi=ms
+ 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
- ## Fix UDK Target Platform
+ 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
- ## Setup UDK Environment
+ msg "Fix UDK Target ARCH for rEFInd"
+ sed "s|X64|${_TIANO_ARCH}|g" -i "${_UDK_DIR}/Conf/target.txt" || true
+ sed "s|IA32|${_TIANO_ARCH}|g" -i "${_UDK_DIR}/Conf/target.txt" || true
+
chmod +x "${_UDK_DIR}/BaseTools/BuildEnv"
- source "${_UDK_DIR}/BaseTools/BuildEnv" BaseTools
- echo
- ## Compile UDK BaseTools
- make -C "${EDK_TOOLS_PATH}"
- echo
+}
+
+_prepare_refind_sources() {
- ## Compile UDK x86_64-UEFI Libraries
- "${EDK_TOOLS_PATH}/BinWrappers/PosixLike/build" -p "${_UDK_TARGET}" -a "${_TIANO_ARCH}" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}"
- echo
+ cd "${srcdir}/refind-${pkgver}/"
- ## Fix UDK Target ARCH for rEFInd
- sed "s|IA32|${_TIANO_ARCH}|g" -i "${_UDK_DIR}/Conf/target.txt" || true
+ msg "Fix UDK Path in rEFInd Makefiles"
+ sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+ sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true
+ sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+
+}
+
+prepare() {
+
+ msg "Prepare Tianocore Sources"
+ _prepare_tianocore_sources
+
+ msg "Prepare rEFInd Sources"
+ _prepare_refind_sources
}
build() {
- _tianocore_udk_common
+ _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
- cd "${srcdir}/refind-${pkgver}/"
+ msg "Compile UDK BaseTools"
+ make -C "${EDK_TOOLS_PATH}"
+ echo
- ## Fix UDK Path in rEFInd Makefiles
- sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
- sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true
- sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+ msg "Compile UDK Libraries"
+ "${EDK_TOOLS_PATH}/BinWrappers/PosixLike/build" -p "${_UDK_TARGET}" -a "${_TIANO_ARCH}" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}"
+ echo
+
+ cd "${srcdir}/refind-${pkgver}/"
- ## Unset all FLAGS
+ msg "Unset all compiler FLAGS"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- ## Compile refind.efi
+ msg "Compile rEFInd UEFI application"
make tiano
+ echo
- ## Compile UEFI FS drivers
+ msg "Compile UEFI FS drivers"
make fs
+ echo
}
package() {
- ## Install the rEFInd UEFI application
+ msg "Install the rEFInd UEFI application"
install -d "${pkgdir}/usr/lib/refind/"
install -D -m0644 "${srcdir}/refind-${pkgver}/refind/refind_${_TIANO_S_ARCH}.efi" "${pkgdir}/usr/lib/refind/refind_${_TIANO_S_ARCH}.efi"
- ## Install UEFI drivers built from rEFInd
+ msg "Install UEFI drivers built from rEFInd"
install -d "${pkgdir}/usr/lib/refind/drivers_${_TIANO_S_ARCH}/"
install -D -m0644 "${srcdir}/refind-${pkgver}/drivers_${_TIANO_S_ARCH}"/*.efi "${pkgdir}/usr/lib/refind/drivers_${_TIANO_S_ARCH}/"
- ## Install UEFI applications built from rEFInd
+ msg "Install UEFI applications built from rEFInd"
install -d "${pkgdir}/usr/lib/refind/tools_${_TIANO_S_ARCH}"
install -D -m0644 "${srcdir}/refind-${pkgver}/gptsync/gptsync_${_TIANO_S_ARCH}.efi" "${pkgdir}/usr/lib/refind/tools_${_TIANO_S_ARCH}/gptsync_${_TIANO_S_ARCH}.efi"
- ## Install the rEFInd config file
+ msg "Install the rEFInd config file"
install -d "${pkgdir}/usr/lib/refind/config/"
install -D -m0644 "${srcdir}/refind-${pkgver}/refind.conf-sample" "${pkgdir}/usr/lib/refind/config/refind.conf"
install -D -m0644 "${srcdir}/refind_linux.conf" "${pkgdir}/usr/lib/refind/config/refind_linux.conf"
- ## Install the rEFInd docs
+ msg "Install the rEFInd docs"
install -d "${pkgdir}/usr/share/refind/docs/html/"
install -d "${pkgdir}/usr/share/refind/docs/Styles/"
install -D -m0644 "${srcdir}/refind-${pkgver}/docs/refind"/* "${pkgdir}/usr/share/refind/docs/html/"
@@ -174,37 +205,29 @@ package() {
install -D -m0644 "${srcdir}/refind-${pkgver}/NEWS.txt" "${pkgdir}/usr/share/refind/docs/NEWS"
rm -f "${pkgdir}/usr/share/refind/docs/html/.DS_Store" || true
- ## Install the rEFInd fonts
+ msg "Install the rEFInd fonts"
install -d "${pkgdir}/usr/share/refind/fonts/"
install -D -m0644 "${srcdir}/refind-${pkgver}/fonts"/* "${pkgdir}/usr/share/refind/fonts/"
rm -f "${pkgdir}/usr/share/refind/fonts/mkfont.sh"
- ## Install the rEFInd mkfont.sh
+ msg "Install the rEFInd mkfont.sh"
install -d "${pkgdir}/usr/bin/"
install -D -m0755 "${srcdir}/refind-${pkgver}/fonts/mkfont.sh" "${pkgdir}/usr/bin/refind-mkfont"
- ## Install the rEFInd icons
+ msg "Install the rEFInd icons"
install -d "${pkgdir}/usr/share/refind/icons/"
install -D -m0644 "${srcdir}/refind-${pkgver}/icons"/* "${pkgdir}/usr/share/refind/icons/"
- ## Install the rEFInd images
+ msg "Install the rEFInd images"
install -d "${pkgdir}/usr/share/refind/images/"
install -D -m0644 "${srcdir}/refind-${pkgver}/images"/*.{png,bmp} "${pkgdir}/usr/share/refind/images/"
- ## Install the rEFInd keys
+ msg "Install the rEFInd keys"
install -d "${pkgdir}/usr/share/refind/keys/"
install -D -m0644 "${srcdir}/refind-${pkgver}/keys"/* "${pkgdir}/usr/share/refind/keys/"
- ## Install the rEFIt license file, since rEFInd is a fork of rEFIt
+ msg "Install the rEFIt license file, since rEFInd is a fork of rEFIt"
install -d "${pkgdir}/usr/share/licenses/refind/"
install -D -m0644 "${srcdir}/refind-${pkgver}/LICENSE.txt" "${pkgdir}/usr/share/licenses/refind/LICENSE"
}
-sha1sums=('f71f00dbbe8c068c9ef80f468835c998832d364f'
- '4d1992699f9b48dd2b7e6bd6c0b25fc065f75894'
- '3d53eb615c3363d45feb95b9bfbf1d5491bf1c24'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP')