summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-12-01 14:42:42 +0000
committerSam James <sam@gentoo.org>2024-12-01 14:55:48 +0000
commit0b8d6bb128bdc0d4a73c5d69226d29f9bf20701b (patch)
tree622d4a630c12dc0329bef8de55975ece8ef66933 /sys-fs/e2fsprogs
parentdev-java/byaccj: build w/ -std=gnu17 (diff)
downloadgentoo-0b8d6bb128bdc0d4a73c5d69226d29f9bf20701b.tar.gz
gentoo-0b8d6bb128bdc0d4a73c5d69226d29f9bf20701b.tar.bz2
gentoo-0b8d6bb128bdc0d4a73c5d69226d29f9bf20701b.zip
sys-fs/e2fsprogs: fix C23 compat
Closes: https://bugs.gentoo.org/943687 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/e2fsprogs')
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild1
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch38
2 files changed, 39 insertions, 0 deletions
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
index 216ac564dcfe..d1f1284271fc 100644
--- a/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
@@ -46,6 +46,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch
# Upstream patches (can usually removed with next version bump)
+ "${FILESDIR}"/${PN}-1.47.1-c23.patch
)
src_prepare() {
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch
new file mode 100644
index 000000000000..b39e0a45534c
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.47.1-c23.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/943687
+https://github.com/tytso/e2fsprogs/issues/202
+https://github.com/tytso/e2fsprogs/commit/49fd04d77b3244c6c6990be41142168eef373aef
+
+From 49fd04d77b3244c6c6990be41142168eef373aef Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Fri, 22 Nov 2024 12:36:32 +0000
+Subject: [PATCH] libext2fs: fix -std=c23 build failure
+
+gcc-15 switched to -std=c23 by default:
+
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
+
+As a result `e2fsprogs` fails the build so only typedef int bool
+for __STDC_VERSION__ <= 201710L (C17)
+
+ ../../../lib/ext2fs/tdb.c:113:13: error: two or more data types in declaration specifiers
+ ../../../lib/ext2fs/tdb.c:113:1: warning: useless type name in empty declaration
+ 113 | typedef int bool;
+ | ^~~~~~~
+
+https://github.com/tytso/e2fsprogs/issues/202
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+Link: https://lore.kernel.org/r/Z0B60JhdvT9bpSQ6@6f91903e89da
+Signed-off-by: Theodore Ts'o <tytso@mit.edu>
+--- a/lib/ext2fs/tdb.c
++++ b/lib/ext2fs/tdb.c
+@@ -110,7 +110,9 @@ static char *rep_strdup(const char *s)
+ #endif
+ #endif
+
++#if defined __STDC__ && defined __STDC_VERSION__ && __STDC_VERSION__ <= 201710L
+ typedef int bool;
++#endif
+
+ #include "tdb.h"
+