aboutsummaryrefslogtreecommitdiffstats
path: root/main/lynx
diff options
context:
space:
mode:
Diffstat (limited to 'main/lynx')
-rw-r--r--main/lynx/APKBUILD35
-rw-r--r--main/lynx/ncurses.patch78
2 files changed, 93 insertions, 20 deletions
diff --git a/main/lynx/APKBUILD b/main/lynx/APKBUILD
index ff3e6f6b7c..d13ac21f34 100644
--- a/main/lynx/APKBUILD
+++ b/main/lynx/APKBUILD
@@ -5,7 +5,7 @@ pkgname=lynx
pkgver=2.8.8_p2
_relver=${pkgver/_p/rel.}
_v=${_relver%rel.*}
-pkgrel=5
+pkgrel=6
pkgdesc="Cross-platform text-based browser"
url="http://lynx.invisible-island.net/"
arch="all"
@@ -14,21 +14,12 @@ depends="gzip"
makedepends="libressl-dev gettext zlib-dev glib-dev perl ncurses-dev"
install=""
subpackages="$pkgname-doc"
-source="http://invisible-mirror.net/archives/lynx/tarballs/${pkgname}${_relver}.tar.bz2"
-
-_builddir="$srcdir"/${pkgname}${_v//./-}
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
+source="http://invisible-mirror.net/archives/lynx/tarballs/${pkgname}${_relver}.tar.bz2
+ ncurses.patch"
+builddir="$srcdir"/${pkgname}${_v//./-}
build() {
- cd "$_builddir"
+ cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -40,16 +31,20 @@ build() {
--enable-ipv6 \
|| return 1
make helpdir=/usr/share/doc/lynx/help \
- docdir=/usr/share/doc/lynx || return 1
+ docdir=/usr/share/doc/lynx
+}
+
+check() {
+ cd "$builddir"
+ ./lynx -version
}
package() {
- cd "$_builddir"
+ cd "$builddir"
make DESTDIR="$pkgdir" install install-help install-doc \
helpdir=/usr/share/doc/lynx/help \
- docdir=/usr/share/doc/lynx || return 1
+ docdir=/usr/share/doc/lynx
}
-md5sums="b231c2aa34dfe7ca25681ef4e55ee7e8 lynx2.8.8rel.2.tar.bz2"
-sha256sums="6980e75cf0d677fd52c116e2e0dfd3884e360970c88c8356a114338500d5bee7 lynx2.8.8rel.2.tar.bz2"
-sha512sums="a475fb7b79641ddd7c20861e16d3d71ccb1a5ae33247cce0b9e73690dd664ebf129964c026bc33b0f082a7585e5a6acae9afc9a65f308e19b49fa0a8bebc0362 lynx2.8.8rel.2.tar.bz2"
+sha512sums="a475fb7b79641ddd7c20861e16d3d71ccb1a5ae33247cce0b9e73690dd664ebf129964c026bc33b0f082a7585e5a6acae9afc9a65f308e19b49fa0a8bebc0362 lynx2.8.8rel.2.tar.bz2
+cb5336b3528d2d52dc3414e908ffa8c01bea9c0d111d542259308d673ee7dd93814a6281ba7d0b31c96b4d1276726ec3806e29e3be287d0bc257a401826bdc3f ncurses.patch"
diff --git a/main/lynx/ncurses.patch b/main/lynx/ncurses.patch
new file mode 100644
index 0000000000..5acab0cf93
--- /dev/null
+++ b/main/lynx/ncurses.patch
@@ -0,0 +1,78 @@
+From f0b064b47bfa046da941f5029cdc1b4c851553ce Mon Sep 17 00:00:00 2001
+From: "Thomas E. Dickey" <dickey@invisible-island.net>
+Date: Sat, 18 Mar 2017 21:44:28 +0000
+Subject: [PATCH] snapshot of project "lynx", label v2-8-9dev_11m
+
+---
+ CHANGES | 5 +++--
+ src/LYCurses.c | 18 ++++++++++++------
+ src/LYStrings.c | 7 ++++---
+ 3 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/src/LYCurses.c b/src/LYCurses.c
+index 6b839c28..63b73ece 100644
+--- a/src/LYCurses.c
++++ b/src/LYCurses.c
+@@ -1696,7 +1696,7 @@ void lynx_enable_mouse(int state)
+ void lynx_nl2crlf(int normal GCC_UNUSED)
+ {
+ #if defined(NCURSES_VERSION_PATCH) && defined(SET_TTY) && defined(TERMIOS) && defined(ONLCR)
+- static TTY saved_tty;
++ static struct termios saved_tty;
+ static int did_save = FALSE;
+ static int waiting = FALSE;
+ static int can_fix = TRUE;
+@@ -1705,8 +1705,10 @@ void lynx_nl2crlf(int normal GCC_UNUSED)
+ if (cur_term == 0) {
+ can_fix = FALSE;
+ } else {
+- saved_tty = cur_term->Nttyb;
++ tcgetattr(fileno(stdout), &saved_tty);
+ did_save = TRUE;
++ if ((saved_tty.c_oflag & ONLCR))
++ can_fix = FALSE;
+ #if NCURSES_VERSION_PATCH < 20010529
+ /* workaround for optimizer bug with nonl() */
+ if ((tigetstr("cud1") != 0 && *tigetstr("cud1") == '\n')
+@@ -1718,14 +1720,18 @@ void lynx_nl2crlf(int normal GCC_UNUSED)
+ if (can_fix) {
+ if (normal) {
+ if (!waiting) {
+- cur_term->Nttyb.c_oflag |= ONLCR;
++ struct termios alter_tty = saved_tty;
++
++ alter_tty.c_oflag |= ONLCR;
++ tcsetattr(fileno(stdout), TCSAFLUSH, &alter_tty);
++ def_prog_mode();
+ waiting = TRUE;
+ nonl();
+ }
+ } else {
+ if (waiting) {
+- cur_term->Nttyb = saved_tty;
+- SET_TTY(fileno(stdout), &saved_tty);
++ tcsetattr(fileno(stdout), TCSAFLUSH, &saved_tty);
++ def_prog_mode();
+ waiting = FALSE;
+ nl();
+ LYrefresh();
+diff --git a/src/LYStrings.c b/src/LYStrings.c
+index e97481c2..02b1286d 100644
+--- a/src/LYStrings.c
++++ b/src/LYStrings.c
+@@ -1004,12 +1004,13 @@ static const char *expand_tiname(const char *first, size_t len, char **result, c
+ {
+ char name[BUFSIZ];
+ int code;
++ TERMTYPE *tp = (TERMTYPE *) (cur_term);
+
+ LYStrNCpy(name, first, len);
+ if ((code = lookup_tiname(name, strnames)) >= 0
+ || (code = lookup_tiname(name, strfnames)) >= 0) {
+- if (cur_term->type.Strings[code] != 0) {
+- LYStrNCpy(*result, cur_term->type.Strings[code], (final - *result));
++ if (tp->Strings[code] != 0) {
++ LYStrNCpy(*result, tp->Strings[code], (final - *result));
+ (*result) += strlen(*result);
+ }
+ }