[arch-commits] Commit in efilinux-efi/trunk (PKGBUILD)
Tobias Powalowski
tpowa at nymeria.archlinux.org
Fri Jun 21 19:40:01 UTC 2013
Date: Friday, June 21, 2013 @ 21:40:01
Author: tpowa
Revision: 188809
upgpkg: efilinux-efi 1.0-8
rebuild for splitted arches
Modified:
efilinux-efi/trunk/PKGBUILD
----------+
PKGBUILD | 77 +++++++++++++++++--------------------------------------------
1 file changed, 22 insertions(+), 55 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-06-21 19:30:05 UTC (rev 188808)
+++ PKGBUILD 2013-06-21 19:40:01 UTC (rev 188809)
@@ -6,90 +6,57 @@
pkgname="efilinux-efi"
pkgver="1.0"
-pkgrel="7"
+pkgrel="8"
pkgdesc="Simple UEFI Linux bootloader - Precursor to EFISTUB"
url="https://github.com/mfleming/efilinux"
-arch=('any')
+arch=('x86_64' 'i686')
license=('GPL')
-makedepends=('gcc-multilib' 'gnu-efi-libs')
+makedepends=('gnu-efi-libs')
depends=('dosfstools' 'efibootmgr')
options=('!strip')
install="${pkgname}.install"
-conflicts=('efilinux-efi-x86_64' 'efilinux-efi-i386')
-provides=('efilinux-efi-x86_64' 'efilinux-efi-i386')
-replaces=('efilinux-efi-x86_64' 'efilinux-efi-i386')
-
source=("${_gitname}::git+${_gitroot}#branch=${_gitbranch}")
sha1sums=('SKIP')
-_build_efilinux-efi-x86_64() {
-
- cp -r "${srcdir}/efilinux-${pkgver}" "${srcdir}/efilinux-${pkgver}-x86_64"
- cd "${srcdir}/efilinux-${pkgver}-x86_64/"
-
- ## Unset all compiler FLAGS
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- make ARCH="x86_64" LIBDIR="/usr/lib" CRT0="/usr/lib/crt0-efi-x86_64.o" LDSCRIPT="/usr/lib/elf_x86_64_efi.lds"
-
-}
+[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
+[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="ia32"
-_build_efilinux-efi-ia32() {
-
- cp -r "${srcdir}/efilinux-${pkgver}" "${srcdir}/efilinux-${pkgver}-ia32"
- cd "${srcdir}/efilinux-${pkgver}-ia32/"
-
- ## Unset all compiler FLAGS
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- make ARCH="ia32" LIBDIR="/usr/lib32" CRT0="/usr/lib32/crt0-efi-ia32.o" LDSCRIPT="/usr/lib32/elf_ia32_efi.lds"
-
-}
+[[ "${CARCH}" == "x86_64" ]] && _EFI_S_ARCH="x64"
+[[ "${CARCH}" == "i686" ]] && _EFI_S_ARCH="ia32"
build() {
- if [[ "${CARCH}" != "x86_64" ]]; then
- msg "efilinux-efi can be built only in an x86_64 system. Exiting."
- exit 1
- fi
-
rm -rf "${srcdir}/efilinux-${pkgver}/" || true
cp -r "${srcdir}/${_gitname}" "${srcdir}/efilinux-${pkgver}"
- ## Fix Makefile variables
- sed 's|ARCH=|ARCH :=|g' -i "${srcdir}/efilinux-${pkgver}/Makefile"
- sed 's|LIBDIR=|LIBDIR :=|g' -i "${srcdir}/efilinux-${pkgver}/Makefile"
+ cd "${srcdir}/efilinux-${pkgver}/"
- ## Use gnu-efi ms_abi support
+ ## Add "-fno-strict-aliasing -fno-stack-protector -fno-stack-check -mno-sse -mno-mmx" to CFLAGS
+ sed 's|-DEFI_FUNCTION_WRAPPER|-fno-strict-aliasing -fno-stack-protector -fno-stack-check -mno-sse -mno-mmx -DEFI_FUNCTION_WRAPPER|g' -i "${srcdir}/efilinux-${pkgver}/Makefile"
+
+ ## Add -DGNU_EFI_USE_MS_ABI to CFLAGS
sed 's|-DEFI_FUNCTION_WRAPPER|-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI|g' -i "${srcdir}/efilinux-${pkgver}/Makefile"
- ## Add "-fno-strict-aliasing -fno-stack-protector -fno-stack-check -mno-sse -mno-mmx" to CFLAGS
- sed 's|-DEFI_FUNCTION_WRAPPER|-fno-strict-aliasing -fno-stack-protector -fno-stack-check -mno-sse -mno-mmx -DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI|g' -i "${srcdir}/efilinux-${pkgver}/Makefile"
-
## Add -m64 for x86_64 build
sed 's|CFLAGS += -mno-red-zone|CFLAGS += -m64 -mno-red-zone|g' -i "${srcdir}/efilinux-${pkgver}/Makefile"
- ## Compile efilinuxx64.efi
- _build_efilinux-efi-x86_64
+ ## Unset all compiler FLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
- ## Compile efilinuxia32.efi
- _build_efilinux-efi-ia32
+ make CRT0="/usr/lib/crt0-efi-${_EFI_ARCH}.o" LDSCRIPT="/usr/lib/elf_${_EFI_ARCH}_efi.lds"
}
package() {
+ cd "${srcdir}/efilinux-${pkgver}/"
+
install -d "${pkgdir}/usr/lib/efilinux/"
- install -D -m0644 "${srcdir}/efilinux-${pkgver}-x86_64/efilinux.efi" "${pkgdir}/usr/lib/efilinux/efilinuxx64.efi"
- install -D -m0644 "${srcdir}/efilinux-${pkgver}-ia32/efilinux.efi" "${pkgdir}/usr/lib/efilinux/efilinuxia32.efi"
+ install -D -m0644 "${srcdir}/efilinux-${pkgver}/efilinux.efi" "${pkgdir}/usr/lib/efilinux/efilinux${_EFI_S_ARCH}.efi"
}
More information about the arch-commits
mailing list