diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-05-29 04:09:56 +0000 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-05-29 04:09:56 +0000 |
commit | 44209e62f1f8f0e9efe048846bb09e6eb51ea9f4 (patch) | |
tree | 97720b9f37a268443fe50a258ef16c587a02ec91 /extra/gnu-efi-libs | |
parent | fc3a052d9f439abcf0ce424b7d45b682a5377087 (diff) |
Thu May 29 04:04:14 UTC 2014
Diffstat (limited to 'extra/gnu-efi-libs')
-rw-r--r-- | extra/gnu-efi-libs/PKGBUILD | 22 | ||||
-rw-r--r-- | extra/gnu-efi-libs/gnu-efi-3.0v-revert-makefile-commit.patch | 148 |
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 + |