summaryrefslogtreecommitdiff
path: root/extra/gnu-efi-libs
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-05-29 04:09:56 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-05-29 04:09:56 +0000
commit44209e62f1f8f0e9efe048846bb09e6eb51ea9f4 (patch)
tree97720b9f37a268443fe50a258ef16c587a02ec91 /extra/gnu-efi-libs
parentfc3a052d9f439abcf0ce424b7d45b682a5377087 (diff)
Thu May 29 04:04:14 UTC 2014
Diffstat (limited to 'extra/gnu-efi-libs')
-rw-r--r--extra/gnu-efi-libs/PKGBUILD22
-rw-r--r--extra/gnu-efi-libs/gnu-efi-3.0v-revert-makefile-commit.patch148
2 files changed, 163 insertions, 7 deletions
diff --git a/extra/gnu-efi-libs/PKGBUILD b/extra/gnu-efi-libs/PKGBUILD
index 28de86fd1..a081dd705 100644
--- a/extra/gnu-efi-libs/PKGBUILD
+++ b/extra/gnu-efi-libs/PKGBUILD
@@ -1,11 +1,14 @@
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-# Contributor: Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
+[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="ia32"
+
_pkgver="3.0"
pkgname="gnu-efi-libs"
-pkgver="${_pkgver}u"
-pkgrel="4"
+pkgver="${_pkgver}v"
+pkgrel="2"
pkgdesc="Library for building UEFI Applications using GNU toolchain"
url="http://sourceforge.net/projects/gnu-efi/"
license=('GPL')
@@ -13,11 +16,13 @@ arch=('x86_64' 'i686')
options=('!strip' '!makeflags' 'staticlibs')
makedepends=('pciutils')
-source=("http://download.sourceforge.net/gnu-efi/gnu-efi_${pkgver}.orig.tar.gz")
-md5sums=('d15d3c700e79a1e2938544d73edc572d')
+source=("http://download.sourceforge.net/gnu-efi/gnu-efi_${pkgver}.orig.tar.gz"
+ 'gnu-efi-3.0v-revert-makefile-commit.patch')
-[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
-[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="ia32"
+prepare() {
+ cd "${srcdir}/gnu-efi-${_pkgver}/"
+ patch -Np1 -R -i "${srcdir}/gnu-efi-3.0v-revert-makefile-commit.patch"
+}
build() {
@@ -45,3 +50,6 @@ package() {
install -D -m0644 "${srcdir}/gnu-efi-${_pkgver}/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/apps/${_EFI_ARCH}/"
}
+
+md5sums=('57f0a308c0e939e5d18e40840a5484a9'
+ '97ef85cd3d4aba2349aa1fab706568ab')
diff --git a/extra/gnu-efi-libs/gnu-efi-3.0v-revert-makefile-commit.patch b/extra/gnu-efi-libs/gnu-efi-3.0v-revert-makefile-commit.patch
new file mode 100644
index 000000000..3a04a4b3e
--- /dev/null
+++ b/extra/gnu-efi-libs/gnu-efi-3.0v-revert-makefile-commit.patch
@@ -0,0 +1,148 @@
+commit 06744d69273de4945cf0ffcaa4a6abf7cec707b6
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Mar 14 13:47:39 2014 -0400
+
+ From: Sylvain Gault <sylvain.gault@gmail.com>
+ Date: Wed, 19 Feb 2014 05:18:14 +0100
+ Subject: [PATCH] make install: Don't overwrite up-to-date files
+
+ make install used to copy files unconditionnally to their destination.
+ However, if the destination is used by another Makefile, it will always
+ see modified files. "install" target now only update the files when they
+ need to.
+
+ Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+diff --git a/gnuefi/Makefile b/gnuefi/Makefile
+index e99adbe..85a7db8 100644
+--- a/gnuefi/Makefile
++++ b/gnuefi/Makefile
+@@ -49,6 +49,19 @@ OBJS = $(FILES:%=%.o)
+
+ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
+
++INSTALLTARGETS = $(TARGETS)
++ifneq (,$(findstring FreeBSD,$(OS)))
++ ifeq ($(ARCH),x86_64)
++ INSTALLTARGETS += elf_$(ARCH)_fbsd_efi.lds
++ else
++ INSTALLTARGETS += elf_$(ARCH)_efi.lds
++ endif
++else
++ INSTALLTARGETS += elf_$(ARCH)_efi.lds
++endif
++
++LIBDIRINSTALL = $(INSTALLROOT)/$(LIBDIR)
++
+ all: $(TARGETS)
+
+ libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
+@@ -56,17 +69,14 @@ libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
+ clean:
+ rm -f $(TARGETS) *~ *.o $(OBJS)
+
+-install:
+- mkdir -p $(INSTALLROOT)/$(LIBDIR)
+- $(INSTALL) -m 644 $(TARGETS) $(INSTALLROOT)/$(LIBDIR)
+-ifneq (,$(findstring FreeBSD,$(OS)))
+- ifeq ($(ARCH),x86_64)
+- $(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_fbsd_efi.lds $(INSTALLROOT)/$(LIBDIR)
+- else
+- $(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_efi.lds $(INSTALLROOT)/$(LIBDIR)
+- endif
+-else
+- $(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_efi.lds $(INSTALLROOT)/$(LIBDIR)
+-endif
++$(LIBDIRINSTALL):
++ mkdir -p $@
++
++.SECONDEXPANSION:
++
++$(LIBDIRINSTALL)/%: % | $$(dir $$@)
++ $(INSTALL) -m 644 $< $(dir $@)
++
++install: $(addprefix $(LIBDIRINSTALL)/,$(INSTALLTARGETS))
+
+ include $(SRCDIR)/../Make.rules
+diff --git a/inc/Makefile b/inc/Makefile
+index 273d303..297385b 100644
+--- a/inc/Makefile
++++ b/inc/Makefile
+@@ -8,20 +8,32 @@ TOPDIR = $(SRCDIR)/..
+
+ CDIR=$(TOPDIR)/..
+
++INCDIRINSTALL = $(INSTALLROOT)$(PREFIX)/include/efi
++
++SRCHEADERS = $(wildcard $(SRCDIR)/*.h) \
++ $(wildcard $(SRCDIR)/protocol/*.h) \
++ $(wildcard $(SRCDIR)/$(ARCH)/*.h)
++ifeq ($(ARCH),ia64)
++ SRCHEADERS += $(wildcard $(SRCDIR)/protocol/$(ARCH)/*.h)
++endif
++
++HEADERS = $(patsubst $(SRCDIR)/%,%,$(SRCHEADERS))
++
+ all:
+
+ clean:
+
+-install:
+- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi
+- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol
+- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+- $(INSTALL) -m 644 $(SRCDIR)/*.h $(INSTALLROOT)$(PREFIX)/include/efi
+- $(INSTALL) -m 644 $(SRCDIR)/protocol/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol
+- $(INSTALL) -m 644 $(SRCDIR)/$(ARCH)/*.h $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+-ifeq ($(ARCH),ia64)
+- mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+- $(INSTALL) -m 644 $(SRCDIR)/protocol/ia64/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+-endif
++$(INCDIRINSTALL) \
++$(INCDIRINSTALL)/protocol \
++$(INCDIRINSTALL)/$(ARCH) \
++$(INCDIRINSTALL)/protocol/$(ARCH):
++ mkdir -p $@
++
++.SECONDEXPANSION:
++
++$(INCDIRINSTALL)/%.h: %.h | $$(dir $$@)
++ $(INSTALL) -m 644 $< $(dir $@)
++
++install: $(addprefix $(INCDIRINSTALL)/,$(HEADERS))
+
+ include $(SRCDIR)/../Make.rules
+diff --git a/lib/Makefile b/lib/Makefile
+index e9f604e..d2635ad 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -61,8 +61,11 @@ OBJS = $(FILES:%=%.o)
+
+ SUBDIRS = ia32 x86_64 ia64 runtime
+
++LIBDIRINSTALL = $(INSTALLROOT)/$(LIBDIR)
++
+ all: libsubdirs libefi.a
+
++.PHONY: libsubdirs
+ libsubdirs:
+ for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+
+@@ -71,9 +74,13 @@ libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
+ clean:
+ rm -f libefi.a *~ $(OBJS) */*.o
+
+-install: libefi.a
+- mkdir -p $(INSTALLROOT)/$(LIBDIR)
+- $(INSTALL) -m 644 libefi.a $(INSTALLROOT)/$(LIBDIR)
++$(LIBDIRINSTALL):
++ mkdir -p $@
++
++$(LIBDIRINSTALL)/libefi.a: libefi.a | $(LIBDIRINSTALL)
++ $(INSTALL) -m 644 $< $(dir $@)
++
++install: $(LIBDIRINSTALL)/libefi.a
+
+ include $(SRCDIR)/../Make.rules
+