diff --git a/packages/alpine/build.sh b/packages/alpine/build.sh
index a27f57670..756972fb5 100644
--- a/packages/alpine/build.sh
+++ b/packages/alpine/build.sh
@@ -1,7 +1,7 @@
TERMUX_PKG_HOMEPAGE=http://repo.or.cz/alpine.git
TERMUX_PKG_DESCRIPTION="Fast, easy to use email client"
TERMUX_PKG_VERSION=2.21
-TERMUX_PKG_REVISION=2
+TERMUX_PKG_REVISION=3
TERMUX_PKG_SHA256=6030b6881b8168546756ab3a5e43628d8d564539b0476578e287775573a77438
TERMUX_PKG_SRCURL=https://fossies.org/linux/misc/alpine-$TERMUX_PKG_VERSION.tar.xz
TERMUX_PKG_DEPENDS="libcrypt, ncurses, openssl-tool"
@@ -29,8 +29,6 @@ termux_step_pre_configure () {
# To get S_IREAD and friends:
CPPFLAGS+=" -D__USE_BSD"
- cp $TERMUX_PKG_BUILDER_DIR/getpass.c $TERMUX_PKG_SRCDIR/include/
- cp $TERMUX_PKG_BUILDER_DIR/getpass.h $TERMUX_PKG_SRCDIR/include/
cp $TERMUX_PKG_BUILDER_DIR/pine.conf $TERMUX_PREFIX/etc/pine.conf
touch $TERMUX_PKG_SRCDIR/imap/lnxok
diff --git a/packages/alpine/getpass.c b/packages/alpine/getpass.c
deleted file mode 100644
index 656c009f2..000000000
--- a/packages/alpine/getpass.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/* Copyright (C) 1992-2001, 2003-2007, 2009-2016 Free Software Foundation, Inc.
-
- This file is part of the GNU C Library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, see . */
-
-/*#ifndef _LIBC
-# include
-#endifi*/
-
-#include "getpass.h"
-
-
-#include
-
-#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__)
-
-# include
-
-# if HAVE_DECL___FSETLOCKING && HAVE___FSETLOCKING
-# if HAVE_STDIO_EXT_H
-# include
-# endif
-# else
-# define __fsetlocking(stream, type) /* empty */
-# endif
-
-# if HAVE_TERMIOS_H
-# include
-# endif
-
-# if USE_UNLOCKED_IO
-# include "unlocked-io.h"
-# else
-# if !HAVE_DECL_FFLUSH_UNLOCKED
-# undef fflush_unlocked
-# define fflush_unlocked(x) fflush (x)
-# endif
-# if !HAVE_DECL_FLOCKFILE
-# undef flockfile
-# define flockfile(x) ((void) 0)
-# endif
-# if !HAVE_DECL_FUNLOCKFILE
-# undef funlockfile
-# define funlockfile(x) ((void) 0)
-# endif
-# if !HAVE_DECL_FPUTS_UNLOCKED
-# undef fputs_unlocked
-# define fputs_unlocked(str,stream) fputs (str, stream)
-# endif
-# if !HAVE_DECL_PUTC_UNLOCKED
-# undef putc_unlocked
-# define putc_unlocked(c,stream) putc (c, stream)
-# endif
-# endif
-
-/* It is desirable to use this bit on systems that have it.
- The only bit of terminal state we want to twiddle is echoing, which is
- done in software; there is no need to change the state of the terminal
- hardware. */
-
-# ifndef TCSASOFT
-# define TCSASOFT 0
-# endif
-
-static void
-call_fclose (void *arg)
-{
- if (arg != NULL)
- fclose (arg);
-}
-
-char *
-getpass (const char *prompt)
-{
- FILE *tty;
- FILE *in, *out;
-# if HAVE_TCGETATTR
- struct termios s, t;
-# endif
- bool tty_changed = false;
- static char *buf;
- static size_t bufsize;
- ssize_t nread;
-
- /* Try to write to and read from the terminal if we can.
- If we can't open the terminal, use stderr and stdin. */
-
- tty = fopen ("/dev/tty", "w+");
- if (tty == NULL)
- {
- in = stdin;
- out = stderr;
- }
- else
- {
- /* We do the locking ourselves. */
- __fsetlocking (tty, FSETLOCKING_BYCALLER);
-
- out = in = tty;
- }
-
- flockfile (out);
-
- /* Turn echoing off if it is on now. */
-# if HAVE_TCGETATTR
- if (tcgetattr (fileno (in), &t) == 0)
- {
- /* Save the old one. */
- s = t;
- /* Tricky, tricky. */
- t.c_lflag &= ~(ECHO | ISIG);
- tty_changed = (tcsetattr (fileno (in), TCSAFLUSH | TCSASOFT, &t) == 0);
- }
-# endif
-
- /* Write the prompt. */
- fputs_unlocked (prompt, out);
- fflush_unlocked (out);
-
- /* Read the password. */
- nread = getline (&buf, &bufsize, in);
-
- /* According to the C standard, input may not be followed by output
- on the same stream without an intervening call to a file
- positioning function. Suppose in == out; then without this fseek
- call, on Solaris, HP-UX, AIX, OSF/1, the previous input gets
- echoed, whereas on IRIX, the following newline is not output as
- it should be. POSIX imposes similar restrictions if fileno (in)
- == fileno (out). The POSIX restrictions are tricky and change
- from POSIX version to POSIX version, so play it safe and invoke
- fseek even if in != out. */
- fseeko (out, 0, SEEK_CUR);
-
- if (buf != NULL)
- {
- if (nread < 0)
- buf[0] = '\0';
- else if (buf[nread - 1] == '\n')
- {
- /* Remove the newline. */
- buf[nread - 1] = '\0';
- if (tty_changed)
- {
- /* Write the newline that was not echoed. */
- putc_unlocked ('\n', out);
- }
- }
- }
-
- /* Restore the original setting. */
-# if HAVE_TCSETATTR
- if (tty_changed)
- tcsetattr (fileno (in), TCSAFLUSH | TCSASOFT, &s);
-# endif
-
- funlockfile (out);
-
- call_fclose (tty);
-
- return buf;
-}
-
-#else /* W32 native */
-
-/* Windows implementation by Martin Lambers ,
- improved by Simon Josefsson. */
-
-/* For PASS_MAX. */
-# include
-/* For _getch(). */
-# include
-/* For strdup(). */
-# include
-
-# ifndef PASS_MAX
-# define PASS_MAX 512
-# endif
-
-char *
-getpass (const char *prompt)
-{
- char getpassbuf[PASS_MAX + 1];
- size_t i = 0;
- int c;
-
- if (prompt)
- {
- fputs (prompt, stderr);
- fflush (stderr);
- }
-
- for (;;)
- {
- c = _getch ();
- if (c == '\r')
- {
- getpassbuf[i] = '\0';
- break;
- }
- else if (i < PASS_MAX)
- {
- getpassbuf[i++] = c;
- }
-
- if (i >= PASS_MAX)
- {
- getpassbuf[i] = '\0';
- break;
- }
- }
-
- if (prompt)
- {
- fputs ("\r\n", stderr);
- fflush (stderr);
- }
-
- return strdup (getpassbuf);
-}
-#endif
diff --git a/packages/alpine/getpass.h b/packages/alpine/getpass.h
deleted file mode 100644
index f47fcb69e..000000000
--- a/packages/alpine/getpass.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* getpass.h -- Read a password of arbitrary length from /dev/tty or stdin.
- Copyright (C) 2004, 2009-2016 Free Software Foundation, Inc.
- Contributed by Simon Josefsson , 2004.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, see . */
-
-#ifndef GETPASS_H
-# define GETPASS_H
-
-/* Get getpass declaration, if available. */
-# include
-
-# if !HAVE_DECL_GETPASS
-/* Read a password of arbitrary length from /dev/tty or stdin. */
-char *getpass (const char *prompt);
-
-# endif
-
-#endif /* GETPASS_H */
diff --git a/packages/alpine/imap-src-mtest-mtest.c.patch b/packages/alpine/imap-src-mtest-mtest.c.patch
deleted file mode 100644
index 4c2b7fc2f..000000000
--- a/packages/alpine/imap-src-mtest-mtest.c.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./imap/src/mtest/mtest.c 2018-03-21 20:56:14.145999441 +0000
-+++ ../mtest.c 2018-03-21 21:23:34.179966620 +0000
-@@ -34,6 +34,7 @@
- #include
- #include "c-client.h"
- #include "imap4r1.h"
-+#include "../../include/getpass.h"
-
- /* Excellent reasons to hate ifdefs, and why my real code never uses them */
-
diff --git a/packages/alpine/os_lnx.c.patch b/packages/alpine/os_lnx.c.patch
index a7f7339b2..ae8b6ea6e 100644
--- a/packages/alpine/os_lnx.c.patch
+++ b/packages/alpine/os_lnx.c.patch
@@ -1,17 +1,15 @@
---- ../cache/alpine-2.20/imap/src/osdep/unix/os_lnx.c 2015-01-12 05:12:25.504178437 +0000
-+++ ./imap/src/osdep/unix/os_lnx.c 2016-12-10 23:25:18.054653878 +0000
-@@ -35,9 +35,9 @@
+diff -uNr alpine-2.21/imap/src/osdep/unix/os_lnx.c alpine-2.21.mod/imap/src/osdep/unix/os_lnx.c
+--- alpine-2.21/imap/src/osdep/unix/os_lnx.c 2017-02-06 02:06:22.499218141 +0200
++++ alpine-2.21.mod/imap/src/osdep/unix/os_lnx.c 2018-07-03 21:08:21.624860068 +0300
+@@ -35,7 +35,6 @@
#include
#include
#include
-extern int errno; /* just in case */
#include
#include "misc.h"
-+#include "../../include/getpass.c"
-
- #include "fs_unix.c"
-@@ -50,3 +50,10 @@
+@@ -50,3 +49,7 @@
#include "tz_sv4.c"
#include "flocklnx.c"
#include "utime.c"
@@ -19,6 +17,3 @@
+{
+return 0xdeadface;
+}
-+
-+
-+
diff --git a/packages/dropbear/build.sh b/packages/dropbear/build.sh
index 179dccd3e..db7f84d43 100755
--- a/packages/dropbear/build.sh
+++ b/packages/dropbear/build.sh
@@ -1,17 +1,15 @@
TERMUX_PKG_HOMEPAGE=https://matt.ucc.asn.au/dropbear/dropbear.html
TERMUX_PKG_DESCRIPTION="Small SSH server and client"
-TERMUX_PKG_DEPENDS="libutil, readline"
+TERMUX_PKG_DEPENDS="libutil"
TERMUX_PKG_CONFLICTS="openssh"
TERMUX_PKG_VERSION=2018.76
-TERMUX_PKG_REVISION=3
+TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL=https://matt.ucc.asn.au/dropbear/releases/dropbear-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-syslog --disable-utmp --disable-utmpx --disable-wtmp"
TERMUX_PKG_BUILD_IN_SRC="yes"
# Avoid linking to libcrypt for server password authentication:
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_lib_crypt_crypt=no"
-# use own implementation of getpass
-TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" ac_cv_func_getpass=yes LIBS=-lreadline"
# build a multi-call binary
TERMUX_PKG_EXTRA_MAKE_ARGS="MULTI=1"
diff --git a/packages/dropbear/cli-auth.c.patch b/packages/dropbear/cli-auth.c.patch
deleted file mode 100644
index 3dbd103b6..000000000
--- a/packages/dropbear/cli-auth.c.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -uNr dropbear-2018.76/cli-auth.c dropbear-2018.76.mod/cli-auth.c
---- dropbear-2018.76/cli-auth.c 2018-02-27 16:25:10.000000000 +0200
-+++ dropbear-2018.76.mod/cli-auth.c 2018-04-21 13:44:51.797063206 +0300
-@@ -32,6 +32,38 @@
- #include "packet.h"
- #include "runopts.h"
-
-+
-+// getpass implementation
-+#ifdef __ANDROID__
-+#include
-+#include
-+
-+static char* getpass(const char *prompt) {
-+ struct termios term_old, term_new;
-+ int nread;
-+
-+ /* Turn echoing off and fail if we can't. */
-+ if (tcgetattr (0, &term_old) != 0) {
-+ return NULL;
-+ }
-+
-+ term_new = term_old;
-+ term_new.c_lflag &= ~ECHO;
-+
-+ if (tcsetattr (0, TCSAFLUSH, &term_new) != 0) {
-+ return NULL;
-+ }
-+
-+ /* Read the password. */
-+ char *password = readline(prompt);
-+
-+ /* Restore terminal. */
-+ (void) tcsetattr (0, TCSAFLUSH, &term_old);
-+
-+ return password;
-+}
-+#endif
-+
- void cli_authinitialise() {
-
- memset(&ses.authstate, 0, sizeof(ses.authstate));
diff --git a/packages/emacs/build.sh b/packages/emacs/build.sh
index c29cc3cf8..708862acb 100644
--- a/packages/emacs/build.sh
+++ b/packages/emacs/build.sh
@@ -1,6 +1,7 @@
TERMUX_PKG_HOMEPAGE=https://www.gnu.org/software/emacs/
TERMUX_PKG_DESCRIPTION="Extensible, customizable text editor-and more"
TERMUX_PKG_VERSION=26.1
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c
TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/emacs/emacs-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_DEPENDS="ncurses, gnutls, libxml2"
diff --git a/packages/emacs/no_getpass.patch b/packages/emacs/no_getpass.patch
deleted file mode 100644
index 7dfb848c2..000000000
--- a/packages/emacs/no_getpass.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -u -r ../emacs-24.3/lib-src/pop.c ./lib-src/pop.c
---- ../emacs-24.3/lib-src/pop.c 2013-01-01 21:37:17.000000000 +0100
-+++ ./lib-src/pop.c 2014-02-19 02:54:30.000000000 +0100
-@@ -63,6 +63,7 @@
- #include
- #include
- #include
-+#include
-
- #ifdef KERBEROS
- # ifdef HAVE_KRB5_H
-@@ -126,6 +127,23 @@
- char pop_error[ERROR_MAX];
- int pop_debug = 0;
-
-+#ifdef __ANDROID__
-+static char* getpass(const char* prompt) {
-+ printf("%s\n", prompt);
-+ static char chars[128];
-+ int len = 0;
-+ while (true) {
-+ char c = fgetc(stdin);
-+ if (c == '\r' || c == '\n' || c == 0) break;
-+ chars[len++] = c;
-+ if (len == sizeof(chars)-1) break;
-+ }
-+ chars[len] = 0;
-+ return chars;
-+}
-+#endif
-+
-+
- /*
- * Function: pop_open (char *host, char *username, char *password,
- * int flags)
diff --git a/packages/isync/build.sh b/packages/isync/build.sh
index c46f82878..c7801bbc8 100755
--- a/packages/isync/build.sh
+++ b/packages/isync/build.sh
@@ -1,12 +1,8 @@
TERMUX_PKG_HOMEPAGE=http://isync.sourceforge.net
TERMUX_PKG_DESCRIPTION="IMAP and MailDir mailbox synchronizer"
TERMUX_PKG_VERSION=1.3.0
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://downloads.sourceforge.net/project/isync/isync/${TERMUX_PKG_VERSION}/isync-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=8d5f583976e3119705bdba27fa4fc962e807ff5996f24f354957178ffa697c9c
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-sasl ac_cv_header_db=no ac_cv_berkdb4=no"
-TERMUX_PKG_DEPENDS="readline, openssl"
-TERMUX_PKG_BUILD_DEPENDS="readline-dev, openssl-dev"
-
-termux_step_pre_configure() {
- LDFLAGS+=" -lreadline"
-}
+TERMUX_PKG_DEPENDS="openssl"
diff --git a/packages/isync/isync.patch b/packages/isync/isync.patch
index bb516b069..08c417910 100644
--- a/packages/isync/isync.patch
+++ b/packages/isync/isync.patch
@@ -22,53 +22,6 @@ diff -u -r ../isync-1.3.0.orig/src/compat/main.c ./src/compat/main.c
if ((fd = mkstemp( path2 )) < 0) {
sys_error( "Error: cannot create temporary config file" );
return 1;
-diff -u -r ../isync-1.3.0.orig/src/drv_imap.c ./src/drv_imap.c
---- ../isync-1.3.0.orig/src/drv_imap.c 2017-10-01 17:42:35.000000000 +0900
-+++ ./src/drv_imap.c 2018-02-06 08:41:15.750006264 +0900
-@@ -36,6 +36,9 @@
- #include
- #include
-
-+#include
-+#include
-+
- #ifdef HAVE_LIBSASL
- # include
- # include
-@@ -251,6 +254,33 @@
- "Deleted",
- };
-
-+#ifdef __ANDROID__
-+static char* getpass(const char *prompt) {
-+ struct termios term_old, term_new;
-+ int nread;
-+
-+ /* Turn echoing off and fail if we can't. */
-+ if (tcgetattr (0, &term_old) != 0) {
-+ return NULL;
-+ }
-+
-+ term_new = term_old;
-+ term_new.c_lflag &= ~ECHO;
-+
-+ if (tcsetattr (0, TCSAFLUSH, &term_new) != 0) {
-+ return NULL;
-+ }
-+
-+ /* Read the password. */
-+ char *password = readline(prompt);
-+
-+ /* Restore terminal. */
-+ (void) tcsetattr (0, TCSAFLUSH, &term_old);
-+
-+ return password;
-+}
-+#endif
-+
- static imap_cmd_t *
- new_imap_cmd( int size )
- {
diff -u -r ../isync-1.3.0.orig/src/socket.c ./src/socket.c
--- ../isync-1.3.0.orig/src/socket.c 2017-10-01 17:42:35.000000000 +0900
+++ ./src/socket.c 2018-02-06 08:41:15.750006264 +0900
diff --git a/packages/lftp/build.sh b/packages/lftp/build.sh
index 36dd26326..858c08326 100644
--- a/packages/lftp/build.sh
+++ b/packages/lftp/build.sh
@@ -21,4 +21,6 @@ termux_step_pre_configure () {
# /home/builder/.termux-build/_lib/16-aarch64-21-v3/bin/../sysroot/usr/include/bits/fortify/string.h:79:26: error: use of undeclared identifier '__USE_FORTIFY_LEVEL'
export CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/}
fi
+
+ CXXFLAGS+=" -DNO_INLINE_GETPASS=1"
}
diff --git a/packages/msmtp/build.sh b/packages/msmtp/build.sh
index 77cf35746..f5ca29002 100644
--- a/packages/msmtp/build.sh
+++ b/packages/msmtp/build.sh
@@ -1,12 +1,12 @@
TERMUX_PKG_HOMEPAGE=https://marlam.de/msmtp/
TERMUX_PKG_DESCRIPTION="Lightweight SMTP client"
TERMUX_PKG_VERSION=1.8.0
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=bd730cbf000d1b8382849ea21d569a387e63f936be00dc07c569f67915e53ccd
TERMUX_PKG_SRCURL=https://marlam.de/msmtp/releases/msmtp-$TERMUX_PKG_VERSION.tar.xz
TERMUX_PKG_DEPENDS="libgnutls, libidn"
termux_step_pre_configure () {
LDFLAGS=" -llog"
- cp $TERMUX_SCRIPTDIR/packages/alpine/getpass* src/
autoreconf -if
}
diff --git a/packages/msmtp/makefile.am.patch b/packages/msmtp/makefile.am.patch
deleted file mode 100644
index ea2e630b3..000000000
--- a/packages/msmtp/makefile.am.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ../cache/msmtp-1.6.6/src/Makefile.am 2014-11-30 22:26:00.000000000 +0000
-+++ ./src/Makefile.am 2018-01-24 00:22:11.210726100 +0000
-@@ -12,7 +12,8 @@
- tools.c tools.h \
- xalloc.c xalloc.h \
- gettext.h \
-- aliases.c aliases.h
-+ aliases.c aliases.h \
-+ getpass.c getpass.h
-
- if HAVE_TLS
- msmtp_SOURCES += tls.c tls.h
diff --git a/packages/msmtp/msmtp.c.patch b/packages/msmtp/msmtp.c.patch
deleted file mode 100644
index 849934a25..000000000
--- a/packages/msmtp/msmtp.c.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ../cache/msmtp-1.6.6/src/msmtp.c 2016-11-14 19:44:01.000000000 +0000
-+++ ./src/msmtp.c 2018-01-24 00:14:54.940709798 +0000
-@@ -37,6 +37,7 @@
- #include
- #include
- #include
-+#include
- extern char *optarg;
- extern int optind;
- #include
diff --git a/packages/newsboat/build.sh b/packages/newsboat/build.sh
index d4729c7fe..002dff52e 100644
--- a/packages/newsboat/build.sh
+++ b/packages/newsboat/build.sh
@@ -2,6 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://newsboat.org/
TERMUX_PKG_DESCRIPTION="RSS/Atom feed reader for the text console"
TERMUX_PKG_API_LEVEL=24
TERMUX_PKG_VERSION=2.12
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=9bbdbc2bca9e0c75a75588d89de3862f72e3fcb41c5d7db6210e2b491ffd43f4
TERMUX_PKG_SRCURL=https://newsboat.org/releases/${TERMUX_PKG_VERSION}/newsboat-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_DEPENDS="libandroid-support, libandroid-glob, json-c, libsqlite, libcurl, libxml2, stfl, ncurses, openssl"
diff --git a/packages/newsboat/src-remote_api.cpp.patch b/packages/newsboat/src-remote_api.cpp.patch
deleted file mode 100644
index 4b47eefdf..000000000
--- a/packages/newsboat/src-remote_api.cpp.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -u -r ../newsboat-2.12/src/remote_api.cpp ./src/remote_api.cpp
---- ../newsboat-2.12/src/remote_api.cpp 2018-06-24 21:30:30.000000000 +0200
-+++ ./src/remote_api.cpp 2018-06-26 03:56:48.528961214 +0200
-@@ -39,6 +39,22 @@
- return pass;
- }
-
-+#ifdef __ANDROID__
-+static char* getpass(const char* prompt) {
-+ printf("%s\n", prompt);
-+ static char chars[128];
-+ int len = 0;
-+ while (1) {
-+ char c = fgetc(stdin);
-+ if (c == '\r' || c == '\n' || c == 0) break;
-+ chars[len++] = c;
-+ if (len == sizeof(chars)-1) break;
-+ }
-+ chars[len] = 0;
-+ return chars;
-+}
-+#endif
-+
- credentials remote_api::get_credentials(const std::string& scope,
- const std::string& name)
- {
diff --git a/packages/rsync/rsync-3.1.3_lib_getpass.c.patch b/packages/rsync/rsync-3.1.3_lib_getpass.c.patch
new file mode 100644
index 000000000..691b16cf1
--- /dev/null
+++ b/packages/rsync/rsync-3.1.3_lib_getpass.c.patch
@@ -0,0 +1,16 @@
+diff -uNr rsync-3.1.3/lib/getpass.c rsync-3.1.3.mod/lib/getpass.c
+--- rsync-3.1.3/lib/getpass.c 2013-05-20 01:01:29.000000000 +0300
++++ rsync-3.1.3.mod/lib/getpass.c 2018-08-16 13:29:02.517996377 +0300
+@@ -23,6 +23,7 @@
+
+ #include "rsync.h"
+
++#ifndef HAVE_GETPASS
+ char *getpass(const char *prompt)
+ {
+ static char password[256];
+@@ -70,3 +71,4 @@
+
+ return NULL;
+ }
++#endif
diff --git a/packages/screen/attacher.c.patch b/packages/screen/attacher.c.patch
index e23e1914e..522511972 100644
--- a/packages/screen/attacher.c.patch
+++ b/packages/screen/attacher.c.patch
@@ -1,25 +1,5 @@
--- ../cache/screen-4.4.0/attacher.c 2016-06-19 19:41:03.000000000 +0000
+++ ./attacher.c 2016-12-20 06:59:46.351839178 +0000
-@@ -71,7 +71,19 @@
- static int multipipe[2];
- # endif
- #endif
-+#ifdef __ANDROID__
-+#define PWDLEN 128 /* used by Linux */
-
-+char *getpass (const char *prompt)
-+{
-+ char *s;
-+ static char pwd[PWDLEN];
-+ fputs (prompt,stdout);
-+ fgets (pwd,PWDLEN-1,stdin);
-+ if (s = strchr (pwd,'\n')) *s = '\0';
-+ return pwd;
-+}
-+#endif
-
- static int ContinuePlease;
-
@@ -921,7 +933,6 @@
#endif
diff --git a/packages/texlive-bin/build.sh b/packages/texlive-bin/build.sh
index 672e1c95f..082db35cb 100644
--- a/packages/texlive-bin/build.sh
+++ b/packages/texlive-bin/build.sh
@@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://www.tug.org/texlive/
TERMUX_PKG_DESCRIPTION="TeX Live is a distribution of the TeX typesetting system. This package contains architecture dependent binaries."
TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
TERMUX_PKG_VERSION=20180414
-TERMUX_PKG_REVISION=3
+TERMUX_PKG_REVISION=4
TERMUX_PKG_SRCURL=ftp://tug.org/texlive/historic/${TERMUX_PKG_VERSION:0:4}/texlive-${TERMUX_PKG_VERSION}-source.tar.xz
TERMUX_PKG_SHA256="fe0036d5f66708ad973cdc4e413c0bb9ee2385224481f7b0fb229700a0891e4e"
TERMUX_PKG_DEPENDS="freetype, libpng, libgd, libgmp, libmpfr, libicu, liblua, poppler, libgraphite, harfbuzz-icu, teckit"
diff --git a/packages/texlive-bin/dvipdfm-x_fix_getpass.patch b/packages/texlive-bin/dvipdfm-x_fix_getpass.patch
deleted file mode 100644
index de58c3887..000000000
--- a/packages/texlive-bin/dvipdfm-x_fix_getpass.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/texk/dvipdfm-x/pdfencrypt.h~ 2016-01-06 11:13:28.000000000 +0100
-+++ src/texk/dvipdfm-x/pdfencrypt.h 2016-12-31 11:13:43.734942973 +0100
-@@ -38,4 +38,19 @@
- unsigned char **cipher, size_t *cipher_len);
- extern pdf_obj *pdf_encrypt_obj (void);
-
-+
-+#ifdef __ANDROID__
-+static char* getpass(const char* prompt) {
-+ static char chars[128];
-+ int len = 0;
-+ while (true) {
-+ char c = fgetc(stdin);
-+ if (c == '\r' || c == '\n' || c == 0) break;
-+ chars[len++] = c;
-+ if (len == sizeof(chars)-1) break;
-+ }
-+ chars[len] = 0;
-+ return chars;
-+}
-+#endif
- #endif /* _PDFENCRYPT_H_ */
diff --git a/packages/unrar/build.sh b/packages/unrar/build.sh
index 738be731e..532d2fb7a 100644
--- a/packages/unrar/build.sh
+++ b/packages/unrar/build.sh
@@ -1,7 +1,8 @@
TERMUX_PKG_HOMEPAGE=https://www.rarlab.com/
TERMUX_PKG_DESCRIPTION="Tool for extracting files from .rar archives"
TERMUX_PKG_VERSION=5.6.6
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=5dbdd3cff955c4bc54dd50bf58120af7cb30dec0763a79ffff350f26f96c4430
TERMUX_PKG_SRCURL=https://www.rarlab.com/rar/unrarsrc-${TERMUX_PKG_VERSION}.tar.gz
-TERMUX_PKG_DEPENDS="libandroid-support,readline"
+TERMUX_PKG_DEPENDS="libandroid-support"
TERMUX_PKG_BUILD_IN_SRC=yes
diff --git a/packages/unrar/getpass.patch b/packages/unrar/getpass.patch
deleted file mode 100644
index fa3aa82c3..000000000
--- a/packages/unrar/getpass.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -uNr unrar/consio.cpp unrar.mod/consio.cpp
---- unrar/consio.cpp 2018-06-24 18:10:30.000000000 +0300
-+++ unrar.mod/consio.cpp 2018-07-03 14:07:07.362069977 +0300
-@@ -1,6 +1,10 @@
- #include "rar.hpp"
- #include "log.cpp"
-
-+// For getpass()
-+#include
-+#include
-+
- static MESSAGE_TYPE MsgStream=MSG_STDOUT;
- static RAR_CHARSET RedirectCharset=RCH_DEFAULT;
-
-@@ -62,6 +66,38 @@
-
-
- #ifndef SILENT
-+#ifdef __ANDROID__
-+static char* getpass(const char *prompt) {
-+ struct termios term_old, term_new;
-+
-+ /* Turn echoing off and fail if we can't. */
-+ if (tcgetattr(0, &term_old) != 0) {
-+ fprintf(stderr, "%s(): tcgetattr failed.\n", __func__);
-+ return NULL;
-+ }
-+
-+ term_new = term_old;
-+ term_new.c_lflag &= ~ECHO;
-+
-+ if (tcsetattr(0, TCSANOW, &term_new) != 0) {
-+ fprintf(stderr, "%s(): tcsetattr failed.\n", __func__);
-+ return NULL;
-+ }
-+
-+ /* Read the password. */
-+ char *password = readline(prompt);
-+
-+ /* prevent segfault when failed to read password */
-+ if (!password) {
-+ password="";
-+ }
-+
-+ /* Restore terminal. */
-+ (void) tcsetattr(0, TCSANOW, &term_old);
-+
-+ return password;
-+}
-+#endif
- static void cvt_wprintf(FILE *dest,const wchar *fmt,va_list arglist)
- {
- // This buffer is for format string only, not for entire output,
diff --git a/packages/unrar/makefile.patch b/packages/unrar/makefile.patch
index 1f07cce70..7d3b95b1f 100644
--- a/packages/unrar/makefile.patch
+++ b/packages/unrar/makefile.patch
@@ -1,7 +1,7 @@
diff -u -r ../unrar/makefile ./makefile
--- ../unrar/makefile 2017-11-22 06:53:39.000000000 +0000
+++ ./makefile 2018-03-12 10:30:16.141557520 +0000
-@@ -2,14 +2,15 @@
+@@ -2,14 +2,14 @@
# Makefile for UNIX - unrar
# Linux using GCC
@@ -20,7 +20,6 @@ diff -u -r ../unrar/makefile ./makefile
+AR?=ar
+LDFLAGS?=-pthread
+DESTDIR=$(PREFIX)
-+LIBS=-lreadline
# Linux using LCC
#CXX=lcc
diff --git a/packages/w3m/build.sh b/packages/w3m/build.sh
index d979c17aa..c256aba8f 100644
--- a/packages/w3m/build.sh
+++ b/packages/w3m/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Text based Web browser and pager"
local _MAJOR_VERSION=0.5.3
local _MINOR_VERSION=20180125
TERMUX_PKG_VERSION=0.5.3.$_MINOR_VERSION
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SHA256=c75068ef06963c9e3fd387e8695a203c6edda2f467b5f2f754835afb75eb36f3
# The upstream w3m project is dead, but every linux distribution uses
# this maintained fork in debian:
diff --git a/packages/w3m/file.c.patch b/packages/w3m/file.c.patch
deleted file mode 100644
index f25e6430c..000000000
--- a/packages/w3m/file.c.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -u -r ../w3m-0.5.3/file.c ./file.c
---- ../w3m-0.5.3/file.c 2011-01-04 04:22:21.000000000 -0500
-+++ ./file.c 2015-11-19 17:37:37.536882299 -0500
-@@ -1513,6 +1513,21 @@
- return hauth->scheme ? hauth : NULL;
- }
-
-+#ifdef __ANDROID__
-+static char* getpass(const char* prompt) {
-+ static char chars[128];
-+ int len = 0;
-+ while (1) {
-+ char c = fgetc(stdin);
-+ if (c == '\r' || c == '\n' || c == 0) break;
-+ chars[len++] = c;
-+ if (len == sizeof(chars)-1) break;
-+ }
-+ chars[len] = 0;
-+ return chars;
-+}
-+#endif
-+
- static void
- getAuthCookie(struct http_auth *hauth, char *auth_header,
- TextList *extra_header, ParsedURL *pu, HRequest *hr,
diff --git a/packages/w3m/ftp.c.patch b/packages/w3m/ftp.c.patch
deleted file mode 100644
index fb87e253a..000000000
--- a/packages/w3m/ftp.c.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -u -r ../w3m-0.5.3/ftp.c ./ftp.c
---- ../w3m-0.5.3/ftp.c 2011-01-04 04:22:21.000000000 -0500
-+++ ./ftp.c 2015-11-19 17:38:19.404593027 -0500
-@@ -342,6 +342,21 @@
- ftp_close(¤t_ftp);
- }
-
-+#ifdef __ANDROID__
-+static char* getpass(const char* prompt) {
-+ static char chars[128];
-+ int len = 0;
-+ while (1) {
-+ char c = fgetc(stdin);
-+ if (c == '\r' || c == '\n' || c == 0) break;
-+ chars[len++] = c;
-+ if (len == sizeof(chars)-1) break;
-+ }
-+ chars[len] = 0;
-+ return chars;
-+}
-+#endif
-+
- InputStream
- openFTPStream(ParsedURL *pu, URLFile *uf)
- {