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"
        
 }

Reply via email to