isync: Add package at version 1.3.0 (#2103)

This commit is contained in:
Ayanokoji Takesi 2018-02-07 06:42:57 +09:00 committed by Fredrik Fornwall
parent e9cdab3c29
commit 65aef23c04
2 changed files with 95 additions and 0 deletions

12
packages/isync/build.sh Executable file
View File

@ -0,0 +1,12 @@
TERMUX_PKG_HOMEPAGE=http://isync.sourceforge.net
TERMUX_PKG_DESCRIPTION="IMAP and MailDir mailbox synchronizer"
TERMUX_PKG_VERSION=1.3.0
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"
TERMUX_PKG_DEPENDS="readline, openssl"
TERMUX_PKG_BUILD_DEPENDS="readline-dev, openssl-dev"
termux_step_pre_configure() {
LDFLAGS+=" -lreadline"
}

View File

@ -0,0 +1,83 @@
diff -u -r ../isync-1.3.0.orig/src/compat/config.c ./src/compat/config.c
--- ../isync-1.3.0.orig/src/compat/config.c 2017-10-01 17:42:35.000000000 +0900
+++ ./src/compat/config.c 2018-02-06 08:41:15.750006264 +0900
@@ -451,7 +451,7 @@
goto gotstor;
box->local_store_path = my_strndup( path, pl );
/* derive a suitable name */
- if (!strcmp( box->local_store_path, "/var/mail/" ) || !strcmp( box->local_store_path, "/var/spool/mail/" )) {
+ if (!strcmp( box->local_store_path, "@TERMUX_PREFIX@/var/mail/" ) || !strcmp( box->local_store_path, "@TERMUX_PREFIX@/var/spool/mail/" )) {
local_store = nfstrdup( "spool" );
} else if (!strcmp( box->local_store_path, "~/" )) {
local_store = nfstrdup( "home" );
diff -u -r ../isync-1.3.0.orig/src/compat/main.c ./src/compat/main.c
--- ../isync-1.3.0.orig/src/compat/main.c 2017-10-01 17:42:35.000000000 +0900
+++ ./src/compat/main.c 2018-02-06 08:41:15.750006264 +0900
@@ -384,7 +384,7 @@
return 1;
}
} else {
- strcpy( path2, "/tmp/mbsyncrcXXXXXX" );
+ strcpy( path2, "@TERMUX_PREFIX@/tmp/mbsyncrcXXXXXX" );
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 <time.h>
#include <sys/wait.h>
+#include <termios.h>
+#include <readline/readline.h>
+
#ifdef HAVE_LIBSASL
# include <sasl/sasl.h>
# include <sasl/saslutil.h>
@@ -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
@@ -398,7 +398,7 @@
_exit( 127 );
close( a[0] );
close( a[1] );
- execl( "/bin/sh", "sh", "-c", conf->tunnel, (char *)0 );
+ execl( "@TERMUX_PREFIX@/bin/sh", "sh", "-c", conf->tunnel, (char *)0 );
_exit( 127 );
}