Date: Thursday, February 21, 2013 @ 22:52:43 Author: tpowa Revision: 178424
upgpkg: gummiboot-efi 23-1 bump to latest version Added: gummiboot-efi/trunk/gummiboot-fix-makefile.patch Modified: gummiboot-efi/trunk/PKGBUILD gummiboot-efi/trunk/arch.conf ------------------------------+ PKGBUILD | 46 +++++++++++++++++----------- arch.conf | 2 - gummiboot-fix-makefile.patch | 66 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+), 19 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-02-21 21:29:02 UTC (rev 178423) +++ PKGBUILD 2013-02-21 21:52:43 UTC (rev 178424) @@ -4,56 +4,66 @@ # Contributor: Mantas Mikulėnas <[email protected]> pkgname="gummiboot-efi" -pkgver="17" +pkgver="23" pkgrel="1" pkgdesc="Simple text-mode UEFI Boot Manager" url="http://freedesktop.org/wiki/Software/gummiboot" arch=('any') -license=('GPL2') +license=('LGPL2.1') makedepends=('gnu-efi-libs') depends=('dosfstools' 'efibootmgr') optdepends=('mactel-boot: For bless command in Apple Mac systems') conflicts=('gummiboot-efi-x86_64' 'gummiboot-efi-i386') provides=('gummiboot-efi-x86_64' 'gummiboot-efi-i386') replaces=('gummiboot-efi-x86_64' 'gummiboot-efi-i386') -options=('!strip') -source=("ftp://ftp.archlinux.org/other/gummiboot-efi/gummiboot-${pkgver}.zip" +options=('!strip' '!makeflags') +source=("ftp://ftp.archlinux.org/other/gummiboot-efi/gummiboot-${pkgver}.tar.gz" + 'gummiboot-fix-makefile.patch' 'loader.conf' 'arch.conf') -build() { +build() { if [[ "${CARCH}" != "x86_64" ]]; then - msg "gummiboot-efi can be built only in an x86_64 system. Exiting." + msg "${pkgname} can be built only in an x86_64 system. Exiting." exit 1 fi - ## Fix Makefiles to enable compile for both x86_64 and i386 UEFI - sed 's|ARCH=|ARCH?=|g' -i "${srcdir}/gummiboot-${pkgver}/Makefile" - sed 's|LIBDIR=|LIBDIR?=|g' -i "${srcdir}/gummiboot-${pkgver}/Makefile" - sed 's|CFLAGS =|CFLAGS +=|g' -i "${srcdir}/gummiboot-${pkgver}/Makefile" + cd "${srcdir}/gummiboot-${pkgver}/" + ## Fix Makefile to enable compile for both x86_64 and i386 UEFI + patch -Np1 -i "${srcdir}/gummiboot-fix-makefile.patch" + + unset CFLAGS + unset CPPFLAGS + unset LDFLAGS + ## Compile gummiboot for x86_64 UEFI cp -r "${srcdir}/gummiboot-${pkgver}" "${srcdir}/gummiboot-${pkgver}-x86_64" cd "${srcdir}/gummiboot-${pkgver}-x86_64/" - CFLAGS="-m64" ARCH="x86_64" LIBDIR="/usr/lib" make + ARCH="x86_64" CFLAGS="-m64" LIBDIR="/usr/lib" make gummibootx64.efi + unset CFLAGS + unset CPPFLAGS + unset LDFLAGS + ## Compile gummiboot for i386 aka IA32 UEFI cp -r "${srcdir}/gummiboot-${pkgver}" "${srcdir}/gummiboot-${pkgver}-i386" cd "${srcdir}/gummiboot-${pkgver}-i386/" - CFLAGS="-m32" ARCH="ia32" LIBDIR="/usr/lib32" make + ARCH="i686" CFLAGS="-m32" LIBDIR="/usr/lib32" make gummibootia32.efi } package() { install -d "${pkgdir}/usr/lib/gummiboot/loader/entries/" ## Install gummiboot UEFI applications - install -D -m0644 "${srcdir}/gummiboot-${pkgver}-x86_64/gummiboot.efi" "${pkgdir}/usr/lib/gummiboot/gummibootx64.efi" - install -D -m0644 "${srcdir}/gummiboot-${pkgver}-i386/gummiboot.efi" "${pkgdir}/usr/lib/gummiboot/gummibootia32.efi" + install -D -m0644 "${srcdir}/gummiboot-${pkgver}-x86_64/gummibootx64.efi" "${pkgdir}/usr/lib/gummiboot/gummibootx64.efi" + install -D -m0644 "${srcdir}/gummiboot-${pkgver}-i386/gummibootia32.efi" "${pkgdir}/usr/lib/gummiboot/gummibootia32.efi" ## Install gummiboot example configuration files install -D -m0644 "${srcdir}/loader.conf" "${pkgdir}/usr/lib/gummiboot/loader/loader.conf" - install -D -m0644 "${srcdir}/arch.conf" "${pkgdir}/usr/lib/gummiboot/loader/entries/arch.conf" + install -D -m0644 "${srcdir}/arch.conf" "${pkgdir}/usr/lib/gummiboot/loader/entries/arch.conf" } -md5sums=('07e7c98c70317a437b2b2af741688667' - '6ea803e5179d623716e3be0b636de658' - '0229e197d5beb226aa93efcf5dbacd41') +sha1sums=('b883516a6dbec17823ddefb6b5789b6183132814' + 'ec31cc88b3b0de26493b1b9ea06332f717a1f06f' + '82a59f90d9138c26f8db52bb8e94991602cf1edd' + 'aff6e152c3f7494e6113a8e2f073810366433015') Modified: arch.conf =================================================================== --- arch.conf 2013-02-21 21:29:02 UTC (rev 178423) +++ arch.conf 2013-02-21 21:52:43 UTC (rev 178424) @@ -4,4 +4,4 @@ title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img -options root=PARTUUID=XXXX rootfstype=XXXX ro +options root=PARTUUID=XXXX rootfstype=XXXX add_efi_memmap Added: gummiboot-fix-makefile.patch =================================================================== --- gummiboot-fix-makefile.patch (rev 0) +++ gummiboot-fix-makefile.patch 2013-02-21 21:52:43 UTC (rev 178424) @@ -0,0 +1,66 @@ +diff --git a/Makefile b/Makefile +index b45855e..0997263 100644 +--- a/Makefile ++++ b/Makefile +@@ -9,16 +9,17 @@ else + endif + export E Q + +-ARCH=$(shell $(CC) -dumpmachine | sed "s/\(-\).*$$//") +-LIBDIR=$(shell echo $$(cd /usr/lib/$$(gcc -print-multi-os-directory); pwd)) ++ARCH?=$(shell $(CC) -dumpmachine | sed "s/\(-\).*$$//") ++LIBDIR?=$(shell echo $$(cd /usr/lib/$$(gcc -print-multi-os-directory); pwd)) + LIBEFIDIR=$(or $(wildcard $(LIBDIR)/gnuefi), $(LIBDIR)) + + ifeq ($(ARCH),i686) +- ARCH=ia32 ++ GNUEFI_ARCH=ia32 + MACHINE_TYPE_NAME=ia32 + endif + + ifeq ($(ARCH),x86_64) ++ GNUEFI_ARCH=x86_64 + MACHINE_TYPE_NAME=x64 + ARCH_CFLAGS= \ + -DEFI_FUNCTION_WRAPPER \ +@@ -28,12 +29,12 @@ endif + all: gummiboot$(MACHINE_TYPE_NAME).efi gummiboot + + # ------------------------------------------------------------------------------ +-CPPFLAGS = \ ++CPPFLAGS += \ + -I. \ + -I/usr/include/efi \ +- -I/usr/include/efi/$(ARCH) ++ -I/usr/include/efi/$(GNUEFI_ARCH) + +-CFLAGS = \ ++CFLAGS += \ + -DVERSION=$(VERSION) \ + -Wall \ + -Wextra \ +@@ -48,13 +49,13 @@ CFLAGS = \ + -Wsign-compare \ + $(ARCH_CFLAGS) + +-LDFLAGS = -T $(LIBEFIDIR)/elf_$(ARCH)_efi.lds \ ++LDFLAGS += -T $(LIBEFIDIR)/elf_$(GNUEFI_ARCH)_efi.lds \ + -shared \ + -Bsymbolic \ + -nostdlib \ + -znocombreloc \ + -L $(LIBDIR) \ +- $(LIBEFIDIR)/crt0-efi-$(ARCH).o ++ $(LIBEFIDIR)/crt0-efi-$(GNUEFI_ARCH).o + + %.o: %.c + $(E) " CC " $@ +@@ -71,7 +72,7 @@ gummiboot$(MACHINE_TYPE_NAME).efi: src/efi/gummiboot.so + $(E) " OBJCOPY " $@ + $(Q) objcopy -j .text -j .sdata -j .data -j .dynamic \ + -j .dynsym -j .rel -j .rela -j .reloc -j .eh_frame \ +- --target=efi-app-$(ARCH) $< $@ ++ --target=efi-app-$(GNUEFI_ARCH) $< $@ + + # ------------------------------------------------------------------------------ + gummiboot: src/setup/setup.c src/setup/efivars.h src/setup/efivars.c Makefile
