TERMUX_PKG_HOMEPAGE=http://picolisp.com
TERMUX_PKG_DESCRIPTION="Lisp interpreter and application server framework"
TERMUX_PKG_VERSION=15.11
+TERMUX_PKG_BUILD_REVISION=1
TERMUX_PKG_SRCURL=http://software-lab.de/picoLisp-${TERMUX_PKG_VERSION}.tgz
TERMUX_PKG_FOLDERNAME=picoLisp
TERMUX_PKG_BUILD_IN_SRC=true
+LCRYPT =
+OS = Android
+PICOLISP-FLAGS = -rdynamic -lm $(LDFLAGS)
-+DYNAMIC-LIB-FLAGS = -shared -export-dynamic $(LDFLAGS)
++DYNAMIC-LIB-FLAGS = -shared -export-dynamic $(LDFLAGS) -lm
picolisp: $(bin)/picolisp $(lib)/ext$(dll) $(lib)/ht$(dll)
tools: $(bin)/lat1 $(bin)/utf2 $(bin)/balance
--- /dev/null
+The crypt(3) function is not available in Android, so remove support
+in ext for now.
+
+diff -u -r ../picoLisp/src/ext.c ./src/ext.c
+--- ../picoLisp/src/ext.c 2015-04-27 00:34:17.000000000 -0400
++++ ./src/ext.c 2015-11-27 06:07:18.767005597 -0500
+@@ -252,6 +252,7 @@
+
+ /*** Password hashing ***/
+ // (Ext:Crypt 'key 'salt) -> str
++#ifndef __ANDROID__
+ any Crypt(any x) {
+ any y;
+
+@@ -269,3 +270,4 @@
+ }
+ }
+ }
++#endif
--- /dev/null
+diff -u -r ../picoLisp/src/main.c ./src/main.c
+--- ../picoLisp/src/main.c 2015-11-24 02:39:50.000000000 -0500
++++ ./src/main.c 2015-11-26 18:07:24.794312532 -0500
+@@ -834,8 +834,10 @@
+ strcpy(buf + n + 4 + strlen(nm), ".dll");
+ #endif
+ }
+- if (!(h = dlopen(buf, RTLD_LAZY | RTLD_GLOBAL)) || !(h = dlsym(h,p)))
++ if (!(h = dlopen(buf, RTLD_LAZY | RTLD_GLOBAL)) || !(h = dlsym(h,p))) {
++ fprintf(stderr, "dlopen/dlsym problem: %s\n", dlerror());
+ return NO;
++ }
+ val(x) = box(num(h));
+ }
+ return YES;