hunspell: Fix tmpfile handling
Also add dependency on english hunspell dictionary.
This commit is contained in:
parent
8de869ffaa
commit
5b99d33689
@ -1,6 +1,7 @@
|
|||||||
TERMUX_PKG_HOMEPAGE=http://hunspell.sourceforge.net/
|
TERMUX_PKG_HOMEPAGE=http://hunspell.sourceforge.net/
|
||||||
TERMUX_PKG_DESCRIPTION="Spell checker"
|
TERMUX_PKG_DESCRIPTION="Spell checker"
|
||||||
TERMUX_PKG_VERSION=1.3.3
|
TERMUX_PKG_VERSION=1.3.3
|
||||||
|
TERMUX_PKG_BUILD_REVISION=1
|
||||||
TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/hunspell/Hunspell/${TERMUX_PKG_VERSION}/hunspell-${TERMUX_PKG_VERSION}.tar.gz
|
TERMUX_PKG_SRCURL=http://downloads.sourceforge.net/project/hunspell/Hunspell/${TERMUX_PKG_VERSION}/hunspell-${TERMUX_PKG_VERSION}.tar.gz
|
||||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ui --with-readline"
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-ui --with-readline"
|
||||||
TERMUX_PKG_DEPENDS="ncurses, readline"
|
TERMUX_PKG_DEPENDS="ncurses, readline, hunspell-en-us"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
diff -u -r ../hunspell-1.3.3/src/tools/hunspell.cxx ./src/tools/hunspell.cxx
|
diff -u -r ../hunspell-1.3.3/src/tools/hunspell.cxx ./src/tools/hunspell.cxx
|
||||||
--- ../hunspell-1.3.3/src/tools/hunspell.cxx 2014-06-02 13:35:50.000000000 +0200
|
--- ../hunspell-1.3.3/src/tools/hunspell.cxx 2014-06-02 07:35:50.000000000 -0400
|
||||||
+++ ./src/tools/hunspell.cxx 2014-07-02 13:14:52.000000000 +0200
|
+++ ./src/tools/hunspell.cxx 2016-03-06 02:28:02.031833160 -0500
|
||||||
@@ -68,7 +68,7 @@
|
@@ -68,7 +68,7 @@
|
||||||
#include "odfparser.hxx"
|
#include "odfparser.hxx"
|
||||||
|
|
||||||
@ -19,3 +19,37 @@ diff -u -r ../hunspell-1.3.3/src/tools/hunspell.cxx ./src/tools/hunspell.cxx
|
|||||||
#define DIRSEPCH '/'
|
#define DIRSEPCH '/'
|
||||||
#define DIRSEP "/"
|
#define DIRSEP "/"
|
||||||
#define PATHSEP ":"
|
#define PATHSEP ":"
|
||||||
|
@@ -1423,7 +1423,13 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ char tmpfile_template[] = "@TERMUX_PREFIX@/tmp/hunspell.XXXXXX";
|
||||||
|
+ int tmpfile_fd = mkstemp(tmpfile_template);
|
||||||
|
+ FILE *tempfile = fdopen(tmpfile_fd, "w+");
|
||||||
|
+#else
|
||||||
|
FILE *tempfile = tmpfile();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (!tempfile)
|
||||||
|
{
|
||||||
|
@@ -1443,6 +1449,9 @@
|
||||||
|
clear();
|
||||||
|
refresh();
|
||||||
|
fclose(tempfile); //automatically deleted when closed
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ unlink(tmpfile_template);
|
||||||
|
+#endif
|
||||||
|
if (is_zipped_odf(parser, extension)) {
|
||||||
|
sprintf(buf, "rm %s; rmdir %s", filename, odftempdir);
|
||||||
|
if (system(buf) != 0)
|
||||||
|
@@ -1493,6 +1502,9 @@
|
||||||
|
|
||||||
|
delete parser;
|
||||||
|
fclose(tempfile); //automatically deleted when closed
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ unlink(tmpfile_template);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
47
packages/hunspell/hzip.c.patch
Normal file
47
packages/hunspell/hzip.c.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
diff -u -r ../hunspell-1.3.3/src/tools/hzip.c ./src/tools/hzip.c
|
||||||
|
--- ../hunspell-1.3.3/src/tools/hzip.c 2012-06-30 07:18:47.000000000 -0400
|
||||||
|
+++ ./src/tools/hzip.c 2016-03-06 02:30:47.121570946 -0500
|
||||||
|
@@ -272,7 +272,13 @@
|
||||||
|
strcat(out, EXTENSION);
|
||||||
|
f = fopen(filename, "r");
|
||||||
|
if (!f) return fail("hzip: %s: Permission denied\n", filename);
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ char tmpfile_template[] = "@TERMUX_PREFIX@/tmp/hunspell.XXXXXX";
|
||||||
|
+ int tmpfile_fd = mkstemp(tmpfile_template);
|
||||||
|
+ tempfile = fdopen(tmpfile_fd, "w+");
|
||||||
|
+#else
|
||||||
|
tempfile = tmpfile();
|
||||||
|
+#endif
|
||||||
|
if (!tempfile) {
|
||||||
|
fclose(f);
|
||||||
|
return fail("hzip: cannot create temporary file\n", NULL);
|
||||||
|
@@ -280,6 +286,9 @@
|
||||||
|
f2 = fopen(out, "wb");
|
||||||
|
if (!f2) {
|
||||||
|
fclose(tempfile);
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ unlink(tmpfile_template);
|
||||||
|
+#endif
|
||||||
|
fclose(f);
|
||||||
|
return fail("hzip: %s: Permission denied\n", out);
|
||||||
|
}
|
||||||
|
@@ -287,6 +296,9 @@
|
||||||
|
if (prefixcompress(f, tempfile) != 0) {
|
||||||
|
fclose(f2);
|
||||||
|
fclose(tempfile);
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ unlink(tmpfile_template);
|
||||||
|
+#endif
|
||||||
|
fclose(f);
|
||||||
|
return fail("hzip: cannot write file\n", NULL);
|
||||||
|
}
|
||||||
|
@@ -297,6 +309,9 @@
|
||||||
|
n = encode_file(table, n, tempfile, f2, termword, key);
|
||||||
|
fclose(f2);
|
||||||
|
fclose(tempfile);
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ unlink(tmpfile_template);
|
||||||
|
+#endif
|
||||||
|
fclose(f);
|
||||||
|
if (n != 0) return fail("hzip: cannot write file\n", NULL);
|
||||||
|
return n;
|
Loading…
Reference in New Issue
Block a user