summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch19
-rw-r--r--sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild4
2 files changed, 22 insertions, 1 deletions
diff --git a/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch b/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch
new file mode 100644
index 000000000000..0e4ec7d77b0c
--- /dev/null
+++ b/sys-boot/gnu-efi/files/gnu-efi-3.0.9-fix-clang-build.patch
@@ -0,0 +1,19 @@
+Bug: https://bugs.gentoo.org/695612
+Upstream: https://sourceforge.net/p/gnu-efi/patches/70/
+
+--- a/Make.defaults
++++ b/Make.defaults
+@@ -110,10 +110,10 @@
+ || ( [ $(GCCVERSION) -eq "4" ] \
+ && [ $(GCCMINOR) -ge "7" ] ) ) \
+ && echo 1)
+- ifeq ($(GCCNEWENOUGH),1)
+- CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11
+- else ifeq ($(USING_CLANG),clang)
++ ifeq ($(USING_CLANG),clang)
+ CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11
++ else ifeq ($(GCCNEWENOUGH),1)
++ CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11
+ endif
+
+ CFLAGS += -mno-red-zone
diff --git a/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild
index fa23e18d91de..57a9ed662e5b 100644
--- a/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild
+++ b/sys-boot/gnu-efi/gnu-efi-3.0.9.ebuild
@@ -24,9 +24,11 @@ IUSE="abi_x86_32 abi_x86_64 custom-cflags"
QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o"
RESTRICT="strip"
+PATCHES=( "${FILESDIR}"/${PN}-3.0.9-fix-clang-build.patch )
+
src_prepare() {
- sed -i -e "s/-Werror//" Make.defaults || die
default
+ sed -i -e "s/-Werror//" Make.defaults || die
}
efimake() {