summaryrefslogtreecommitdiff
path: root/user/libgnt
diff options
context:
space:
mode:
Diffstat (limited to 'user/libgnt')
-rw-r--r--user/libgnt/APKBUILD39
-rw-r--r--user/libgnt/ncurses.patch62
-rw-r--r--user/libgnt/tinfo.patch18
3 files changed, 119 insertions, 0 deletions
diff --git a/user/libgnt/APKBUILD b/user/libgnt/APKBUILD
new file mode 100644
index 000000000..55703f4e8
--- /dev/null
+++ b/user/libgnt/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=libgnt
+pkgver=2.14.3
+pkgrel=0
+pkgdesc="Glib Ncurses Toolkit"
+url="https://pidgin.im/"
+arch="all"
+license="GPL-2.0-only"
+depends=""
+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() {
+ meson \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ -Dpython2=false \
+ . output
+ ninja -C output
+}
+
+check() {
+ ninja -C output test
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C output install
+}
+
+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);
+ }
+ }
+ }
diff --git a/user/libgnt/tinfo.patch b/user/libgnt/tinfo.patch
new file mode 100644
index 000000000..1e4ab4902
--- /dev/null
+++ b/user/libgnt/tinfo.patch
@@ -0,0 +1,18 @@
+--- libgnt-2.14.0/meson.build
++++ libgnt-2.14.0/meson.build
+@@ -72,6 +72,7 @@
+ ncurses_available = true
+ ncurses_inc = []
+ ncurses_libs = [
++ compiler.find_library('tinfow', required : false),
+ compiler.find_library('ncursesw', required : false),
+ compiler.find_library('panelw', required : false)
+ ]
+@@ -113,6 +114,7 @@
+ else
+ # ncursesw was not found. Look for plain old ncurses
+ ncurses_libs = [
++ compiler.find_library('tinfo', required : false),
+ compiler.find_library('ncurses', required : false),
+ compiler.find_library('panel', required : false)
+ ]