From 72dd9a3b355d1b0b0eb21702dbb61a04d87b19ea Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 27 Nov 2015 06:24:29 -0500 Subject: [PATCH] Fix 32-bit picolisp loading of 'ext' --- packages/picolisp/build.sh | 1 + packages/picolisp/src-Makefile.patch | 2 +- packages/picolisp/src-ext.c.patch | 19 +++++++++++++++++++ packages/picolisp/src-main.c.patch | 15 +++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 packages/picolisp/src-ext.c.patch create mode 100644 packages/picolisp/src-main.c.patch diff --git a/packages/picolisp/build.sh b/packages/picolisp/build.sh index 9ee204b3..902c3f0a 100644 --- a/packages/picolisp/build.sh +++ b/packages/picolisp/build.sh @@ -1,6 +1,7 @@ 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 diff --git a/packages/picolisp/src-Makefile.patch b/packages/picolisp/src-Makefile.patch index ac3a148f..e2c16411 100644 --- a/packages/picolisp/src-Makefile.patch +++ b/packages/picolisp/src-Makefile.patch @@ -114,7 +114,7 @@ diff -u -r ../picoLisp/src/Makefile ./src/Makefile +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 diff --git a/packages/picolisp/src-ext.c.patch b/packages/picolisp/src-ext.c.patch new file mode 100644 index 00000000..28985d9f --- /dev/null +++ b/packages/picolisp/src-ext.c.patch @@ -0,0 +1,19 @@ +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 diff --git a/packages/picolisp/src-main.c.patch b/packages/picolisp/src-main.c.patch new file mode 100644 index 00000000..0f351915 --- /dev/null +++ b/packages/picolisp/src-main.c.patch @@ -0,0 +1,15 @@ +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; -- 2.11.0