mirror of
https://github.com/void-linux/void-packages.git
synced 2025-08-02 19:02:57 +02:00
libgnt: patch build ncurses 6.5
This commit is contained in:
parent
6ac266c18b
commit
d939a3eb32
2 changed files with 116 additions and 1 deletions
115
srcpkgs/libgnt/patches/fix-ncurses6.5.patch
Normal file
115
srcpkgs/libgnt/patches/fix-ncurses6.5.patch
Normal file
|
@ -0,0 +1,115 @@
|
|||
https://issues.imfreedom.org/issue/LIBGNT-20/libgnt-2.14.3-failed-to-build-with-ncurses-6.5
|
||||
From d27eb35024396102585ca5aaf93057e0b69f1cf5 Mon Sep 17 00:00:00 2001
|
||||
From: Rui Chen <rui@chenrui.dev>
|
||||
Date: Mon, 15 Jul 2024 17:24:06 -0400
|
||||
Subject: [PATCH] fix: build patch for incomplete type definition errors for
|
||||
'struct panel'
|
||||
|
||||
Signed-off-by: Rui Chen <rui@chenrui.dev>
|
||||
---
|
||||
gntwm.c | 84 ++++++++++++++++++++++++++++-----------------------------
|
||||
1 file changed, 42 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/gntwm.c b/gntwm.c
|
||||
index ffb1f4a..2ca4a6a 100644
|
||||
--- a/gntwm.c
|
||||
+++ b/gntwm.c
|
||||
@@ -161,47 +161,49 @@ static void
|
||||
work_around_for_ncurses_bug(void)
|
||||
{
|
||||
#ifndef NO_WIDECHAR
|
||||
- PANEL *panel = NULL;
|
||||
- while ((panel = panel_below(panel)) != NULL) {
|
||||
- int sx, ex, sy, ey, w, y;
|
||||
- cchar_t ch;
|
||||
- PANEL *below = panel;
|
||||
-
|
||||
- sx = getbegx(panel->win);
|
||||
- ex = getmaxx(panel->win) + sx;
|
||||
- sy = getbegy(panel->win);
|
||||
- ey = getmaxy(panel->win) + sy;
|
||||
-
|
||||
- while ((below = panel_below(below)) != NULL) {
|
||||
- if (sy > getbegy(below->win) + getmaxy(below->win) ||
|
||||
- ey < getbegy(below->win))
|
||||
- continue;
|
||||
- if (sx > getbegx(below->win) + getmaxx(below->win) ||
|
||||
- ex < getbegx(below->win))
|
||||
- continue;
|
||||
- for (y = MAX(sy, getbegy(below->win)); y <= MIN(ey, getbegy(below->win) + getmaxy(below->win)); y++) {
|
||||
- if (mvwin_wch(below->win, y - getbegy(below->win), sx - 1 - getbegx(below->win), &ch) != OK)
|
||||
- goto right;
|
||||
- w = widestringwidth(ch.chars);
|
||||
- if (w > 1 && (ch.attr & 1)) {
|
||||
- ch.chars[0] = ' ';
|
||||
- ch.attr &= ~ A_CHARTEXT;
|
||||
- mvwadd_wch(below->win, y - getbegy(below->win), sx - 1 - getbegx(below->win), &ch);
|
||||
- touchline(below->win, y - getbegy(below->win), 1);
|
||||
- }
|
||||
+ PANEL *panel = NULL;
|
||||
+ while ((panel = panel_below(panel)) != NULL) {
|
||||
+ int sx, ex, sy, ey, w, y;
|
||||
+ cchar_t ch;
|
||||
+ PANEL *below = panel;
|
||||
+ WINDOW *panel_win = panel_window(panel);
|
||||
+
|
||||
+ sx = getbegx(panel_win);
|
||||
+ ex = getmaxx(panel_win) + sx;
|
||||
+ sy = getbegy(panel_win);
|
||||
+ ey = getmaxy(panel_win) + sy;
|
||||
+
|
||||
+ while ((below = panel_below(below)) != NULL) {
|
||||
+ WINDOW *below_win = panel_window(below);
|
||||
+ if (sy > getbegy(below_win) + getmaxy(below_win) ||
|
||||
+ ey < getbegy(below_win))
|
||||
+ continue;
|
||||
+ if (sx > getbegx(below_win) + getmaxx(below_win) ||
|
||||
+ ex < getbegx(below_win))
|
||||
+ continue;
|
||||
+ for (y = MAX(sy, getbegy(below_win)); y <= MIN(ey, getbegy(below_win) + getmaxy(below_win)); y++) {
|
||||
+ if (mvwin_wch(below_win, y - getbegy(below_win), sx - 1 - getbegx(below_win), &ch) != OK)
|
||||
+ goto right;
|
||||
+ w = widestringwidth(ch.chars);
|
||||
+ if (w > 1 && (ch.attr & 1)) {
|
||||
+ ch.chars[0] = ' ';
|
||||
+ ch.attr &= ~ A_CHARTEXT;
|
||||
+ mvwadd_wch(below_win, y - getbegy(below_win), sx - 1 - getbegx(below_win), &ch);
|
||||
+ touchline(below_win, y - getbegy(below_win), 1);
|
||||
+ }
|
||||
right:
|
||||
- if (mvwin_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch) != OK)
|
||||
- continue;
|
||||
- w = widestringwidth(ch.chars);
|
||||
- if (w > 1 && !(ch.attr & 1)) {
|
||||
- ch.chars[0] = ' ';
|
||||
- ch.attr &= ~ A_CHARTEXT;
|
||||
- mvwadd_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch);
|
||||
- touchline(below->win, y - getbegy(below->win), 1);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ if (mvwin_wch(below_win, y - getbegy(below_win), ex + 1 - getbegx(below_win), &ch) != OK)
|
||||
+ continue;
|
||||
+ w = widestringwidth(ch.chars);
|
||||
+ if (w > 1 && !(ch.attr & 1)) {
|
||||
+ ch.chars[0] = ' ';
|
||||
+ ch.attr &= ~ A_CHARTEXT;
|
||||
+ mvwadd_wch(below_win, y - getbegy(below_win), ex + 1 - getbegx(below_win), &ch);
|
||||
+ touchline(below_win, y - getbegy(below_win), 1);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -2287,5 +2289,3 @@ void gnt_wm_set_event_stack(GntWM *wm, gboolean set)
|
||||
{
|
||||
wm->event_stack = set;
|
||||
}
|
||||
-
|
||||
-
|
||||
--
|
||||
2.45.2
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'libgnt'
|
||||
pkgname=libgnt
|
||||
version=2.14.3
|
||||
revision=1
|
||||
revision=2
|
||||
build_style=meson
|
||||
build_helper=gir
|
||||
configure_args="-Dpython2=false"
|
||||
|
|
Loading…
Add table
Reference in a new issue