summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-11-25 23:25:37 +0000
committerSam James <sam@gentoo.org>2024-11-25 23:27:33 +0000
commit352d9e97e70837f065c981ad3ff61520a6f92be3 (patch)
tree6ac279d561187442499f57497b36050c04ea463e /app-misc
parentdev-perl/Test-Cmd: Keyword 1.90.0 loong, #943635 (diff)
downloadgentoo-352d9e97e70837f065c981ad3ff61520a6f92be3.tar.gz
gentoo-352d9e97e70837f065c981ad3ff61520a6f92be3.tar.bz2
gentoo-352d9e97e70837f065c981ad3ff61520a6f92be3.zip
app-misc/vifm: fix C23 compat
Closes: https://bugs.gentoo.org/944197 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-misc')
-rw-r--r--app-misc/vifm/files/vifm-0.13-c23.patch46
-rw-r--r--app-misc/vifm/vifm-0.13-r1.ebuild4
2 files changed, 49 insertions, 1 deletions
diff --git a/app-misc/vifm/files/vifm-0.13-c23.patch b/app-misc/vifm/files/vifm-0.13-c23.patch
new file mode 100644
index 000000000000..b8d5e97835ff
--- /dev/null
+++ b/app-misc/vifm/files/vifm-0.13-c23.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/944197
+https://github.com/vifm/vifm/commit/a31fcbb13a1a52fecff5f5ebaa9ea2d23c059edf
+
+From a31fcbb13a1a52fecff5f5ebaa9ea2d23c059edf Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Mon, 18 Nov 2024 06:50:44 +0000
+Subject: [PATCH] src/int/term_title.c: : fix build against -std=c23 (`void
+ (*)()`) changed the meaning)
+
+gcc-15 switched to -std=c23 by default:
+
+ https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
+
+As a result `vifm` fails the build as:
+
+ int/term_title.c: In function 'get_x11_window_title':
+ int/term_title.c:364:21: error:
+ assignment to 'int (*)(void)' from incompatible pointer type 'XErrorHandler' {aka 'int (*)(Display *, XErrorEvent *)'} [-Wincompatible-pointer-types-Wincompatible-pointer-types]
+ 364 | old_handler = XSetErrorHandlerWrapper(x_error_check);
+ | ^
+ int/term_title.c:367:47: error:
+ passing argument 1 of 'XSetErrorHandlerWrapper' from incompatible pointer type [-Wincompatible-pointer-types]
+ 367 | (void)XSetErrorHandlerWrapper(old_handler);
+ | ^~~~~~~~~~~
+ | |
+ | int (*)(void)
+
+The changes fully specifies `old_handler` type.
+---
+ src/int/term_title.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/int/term_title.c b/src/int/term_title.c
+index 17327632d..202ca5a9e 100644
+--- a/src/int/term_title.c
++++ b/src/int/term_title.c
+@@ -358,7 +358,7 @@ get_x11_disp_and_win(Display **disp, Window *win)
+ static void
+ get_x11_window_title(Display *disp, Window win, char *buf, size_t buf_len)
+ {
+- int (*old_handler)();
++ int (*old_handler)(Display *, XErrorEvent *);
+ XTextProperty text_prop;
+
+ old_handler = XSetErrorHandlerWrapper(x_error_check);
+
diff --git a/app-misc/vifm/vifm-0.13-r1.ebuild b/app-misc/vifm/vifm-0.13-r1.ebuild
index 1a7971e162cd..85b7cfa80ce5 100644
--- a/app-misc/vifm/vifm-0.13-r1.ebuild
+++ b/app-misc/vifm/vifm-0.13-r1.ebuild
@@ -34,9 +34,11 @@ RDEPEND="
BDEPEND="|| ( dev-lang/perl app-editors/vim )"
PATCHES=(
- # Bacported fix from upstream,
+ # Backported fix from upstream,
# see also https://github.com/vifm/vifm/issues/913
"${FILESDIR}/${P}-musl.patch"
+ # https://github.com/vifm/vifm/pull/1035
+ "${FILESDIR}/${P}-c23.patch"
)
src_prepare() {