[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