commit:     41295cf393006f6c513fcdedaa08d9e1383c0b7f
Author:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 11 08:34:41 2025 +0000
Commit:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Tue Mar 11 09:06:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41295cf3

sys-firmware/edk2: fix build with GCC 15

Reviewed-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>

 sys-firmware/edk2/edk2-202411.ebuild            |  3 ++-
 sys-firmware/edk2/files/edk2-202411-gcc15.patch | 32 +++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/sys-firmware/edk2/edk2-202411.ebuild 
b/sys-firmware/edk2/edk2-202411.ebuild
index d39b7e4b3797..93932fc6d65e 100644
--- a/sys-firmware/edk2/edk2-202411.ebuild
+++ b/sys-firmware/edk2/edk2-202411.ebuild
@@ -6,7 +6,7 @@ EAPI=8
 PYTHON_REQ_USE="sqlite"
 PYTHON_COMPAT=( python3_{12..13} )
 
-inherit edo prefix python-any-r1 readme.gentoo-r1 secureboot toolchain-funcs
+inherit edo flag-o-matic prefix python-any-r1 readme.gentoo-r1 secureboot 
toolchain-funcs
 
 DESCRIPTION="TianoCore EDK II UEFI firmware for virtual machines"
 HOMEPAGE="https://github.com/tianocore/edk2";
@@ -64,6 +64,7 @@ RDEPEND="
 
 PATCHES=(
        "${FILESDIR}/${PN}-202411-werror.patch"
+       "${FILESDIR}/${PN}-202411-gcc15.patch"
        "${FILESDIR}/${PN}-202411-loong.patch"
        "${FILESDIR}/${PN}-202408-binutils-2.41-textrels.patch"
 )

diff --git a/sys-firmware/edk2/files/edk2-202411-gcc15.patch 
b/sys-firmware/edk2/files/edk2-202411-gcc15.patch
new file mode 100644
index 000000000000..c2d424240b0a
--- /dev/null
+++ b/sys-firmware/edk2/files/edk2-202411-gcc15.patch
@@ -0,0 +1,32 @@
+https://github.com/tianocore/edk2/commit/e063f8b8a53861043b9872cc35b08a3dc03b0942
+From: Gerd Hoffmann <[email protected]>
+Date: Mon, 20 Jan 2025 09:40:31 +0100
+Subject: [PATCH] BaseTools/Pccts: set C standard
+
+The prehistoric code base doesn't build with ISO C23.  Set the C
+standard to C11 (for both clang and gcc) so it continues to build with
+gcc 15 (which uses C23 by default).
+
+Signed-off-by: Gerd Hoffmann <[email protected]>
+--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile
++++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/makefile
+@@ -169,7 +169,7 @@ ANTLR=${BIN_DIR}/antlr
+ DLG=${BIN_DIR}/dlg
+ OBJ_EXT=o
+ OUT_OBJ = -o
+-CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) 
-DZZLEXBUFSIZE=65536
++CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) 
-DZZLEXBUFSIZE=65536 -std=gnu11
+ CPPFLAGS=
+ #
+ # SGI Users, use this CFLAGS
+--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile
++++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/makefile
+@@ -123,7 +123,7 @@ endif
+ COPT=-O
+ ANTLR=${BIN_DIR}/antlr
+ DLG=${BIN_DIR}/dlg
+-CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536
++CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -DZZLEXBUFSIZE=65536 
-std=gnu11
+ CPPFLAGS=
+ OBJ_EXT=o
+ OUT_OBJ = -o

Reply via email to