diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-05-29 22:01:43 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-08-07 10:08:10 -0500 |
commit | 40a3c10c110806c88f477ac2920dc44cd0b95647 (patch) | |
tree | 85572ab8565512d843676c723783736171ba9f5c | |
parent | b44eb93f07fc2a47324c8091487184bdbe08551e (diff) | |
download | packages-40a3c10c110806c88f477ac2920dc44cd0b95647.tar.gz packages-40a3c10c110806c88f477ac2920dc44cd0b95647.tar.bz2 packages-40a3c10c110806c88f477ac2920dc44cd0b95647.tar.xz packages-40a3c10c110806c88f477ac2920dc44cd0b95647.zip |
user/libgnt: Update to 2.14.3 and patch
Upstream has an unreleased 2.14.4 with this patch, that fixes an
attempted access on an internal ncurses struct.
-rw-r--r-- | user/libgnt/APKBUILD | 10 | ||||
-rw-r--r-- | user/libgnt/ncurses.patch | 62 |
2 files changed, 68 insertions, 4 deletions
diff --git a/user/libgnt/APKBUILD b/user/libgnt/APKBUILD index bd4b921c4..55703f4e8 100644 --- a/user/libgnt/APKBUILD +++ b/user/libgnt/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libgnt -pkgver=2.14.0 +pkgver=2.14.3 pkgrel=0 pkgdesc="Glib Ncurses Toolkit" url="https://pidgin.im/" @@ -12,6 +12,7 @@ makedepends="glib-dev gtk-doc meson ncurses-dev ninja" subpackages="$pkgname-dev $pkgname-doc" source="https://downloads.sourceforge.net/pidgin/libgnt-$pkgver.tar.xz tinfo.patch + ncurses.patch " build() { @@ -20,7 +21,7 @@ build() { --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ - --buildtype=release \ + -Dpython2=false \ . output ninja -C output } @@ -33,5 +34,6 @@ package() { DESTDIR="$pkgdir" ninja -C output install } -sha512sums="0d9c5550374696a0e6ede5246cda3c372d7055d21b9ffaf10be88d6a469bdf18c7dd1113ec612acf4889c0e5686ea87bb0e8348ca8985fd5ff8913afc5813b38 libgnt-2.14.0.tar.xz -56ce8dab03e74714ecfe0cb7dd274c5fce996d84793fff5e247ee329b1c5bebf2d933b96cc6fe916dafb4f402269d3b1b8cacda07deff4c149869d509ee5c416 tinfo.patch" +sha512sums="7131834cfe585177865bebf26167de08a04fced3da4e9a072d9b09b3becd1194914757b1a1fc8f129ae6c8fefe3ec1ce0d80d6c50cb624a5698b66ee2e06c6c8 libgnt-2.14.3.tar.xz +56ce8dab03e74714ecfe0cb7dd274c5fce996d84793fff5e247ee329b1c5bebf2d933b96cc6fe916dafb4f402269d3b1b8cacda07deff4c149869d509ee5c416 tinfo.patch +cfdd0667238948ac45ce992c3b0ef7aa90fc9c8a06ee695d5b516deac17e3e57460dbb3072ee0248ada3bf5d24d2a75736259dd873a6c72483a1040259831b49 ncurses.patch" diff --git a/user/libgnt/ncurses.patch b/user/libgnt/ncurses.patch new file mode 100644 index 000000000..0d91c2dbf --- /dev/null +++ b/user/libgnt/ncurses.patch @@ -0,0 +1,62 @@ +# HG changeset patch +# Node ID 7c4e8ad1e3c7 +# Parent 73d8724225e7 +diff --git a/gntwm.c b/gntwm.c +--- a/gntwm.c ++++ b/gntwm.c +@@ -166,38 +166,40 @@ + int sx, ex, sy, ey, w, y; + cchar_t ch; + PANEL *below = panel; ++ WINDOW *window = panel_window(panel); + +- sx = getbegx(panel->win); +- ex = getmaxx(panel->win) + sx; +- sy = getbegy(panel->win); +- ey = getmaxy(panel->win) + sy; ++ sx = getbegx(window); ++ ex = getmaxx(window) + sx; ++ sy = getbegy(window); ++ ey = getmaxy(window) + sy; + + while ((below = panel_below(below)) != NULL) { +- if (sy > getbegy(below->win) + getmaxy(below->win) || +- ey < getbegy(below->win)) ++ window = panel_window(below); ++ if (sy > getbegy(window) + getmaxy(window) || ++ ey < getbegy(window)) + continue; +- if (sx > getbegx(below->win) + getmaxx(below->win) || +- ex < getbegx(below->win)) ++ if (sx > getbegx(window) + getmaxx(window) || ++ ex < getbegx(window)) + 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) ++ for (y = MAX(sy, getbegy(window)); y <= MIN(ey, getbegy(window) + getmaxy(window)); y++) { ++ if (mvwin_wch(window, y - getbegy(window), sx - 1 - getbegx(window), &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); ++ mvwadd_wch(window, y - getbegy(window), sx - 1 - getbegx(window), &ch); ++ touchline(window, y - getbegy(window), 1); + } + right: +- if (mvwin_wch(below->win, y - getbegy(below->win), ex + 1 - getbegx(below->win), &ch) != OK) ++ if (mvwin_wch(window, y - getbegy(window), ex + 1 - getbegx(window), &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); ++ mvwadd_wch(window, y - getbegy(window), ex + 1 - getbegx(window), &ch); ++ touchline(window, y - getbegy(window), 1); + } + } + } |