diff --git a/picolisp/Makefile b/picolisp/Makefile new file mode 100644 index 000000000..954ec6940 --- /dev/null +++ b/picolisp/Makefile @@ -0,0 +1,83 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=picolisp +PKG_VERSION=3.1.10 +PKG_RELEASE:=1 + +PKG_BUILD_DIR := $(BUILD_DIR)/picoLisp +PKG_SOURCE:=picoLisp-$(PKG_VERSION).tgz +PKG_SOURCE_URL:=http://software-lab.de/ +PKG_MD5SUM:=ac19fd6ff4d05dd2b15ea00d1ed591e7 + +PKG_BUILD_DEPENDS+= +libopenssl +@OPENSSL_WITH_EC2M + +include $(INCLUDE_DIR)/package.mk + +define Package/picolisp +SECTION:=lang +CATEGORY:=Languages +TITLE:=PicoLisp interpreter +DEPENDS:= +libopenssl +@OPENSSL_WITH_EC2M +URL:=http://www.picolisp.org/ +MAINTAINER:=Jeronimo Pellegrini +endef + +define Package/picolisp/description + Picolisp is yet another dialect of the Lisp language, specially written to be radically practical and simple. +endef + +TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib +TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include + +# A hack to make picoLisp's Makefile see the include path: +MAKE_FLAGS += C_INCLUDE_PATH+=$(STAGING_DIR)/usr/include/ + +define Package/picolisp/install + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_DIR) $(1)/usr/lib/picolisp/ + $(INSTALL_DIR) $(1)/usr/lib/picolisp/lib + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/pil $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/psh $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/watchdog $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/picolisp $(1)/usr/bin/ + $(CP) $(PKG_BUILD_DIR)/*.l $(1)/usr/lib/picolisp/ + $(CP) $(PKG_BUILD_DIR)/lib/ht \ + $(PKG_BUILD_DIR)/lib/ext \ + $(PKG_BUILD_DIR)/lib/adm.l \ + $(PKG_BUILD_DIR)/lib/app.l \ + $(PKG_BUILD_DIR)/lib/boss.l \ + $(PKG_BUILD_DIR)/lib/btree.l \ + $(PKG_BUILD_DIR)/lib/conDbgc.l \ + $(PKG_BUILD_DIR)/lib/db.l \ + $(PKG_BUILD_DIR)/lib/debug.l \ + $(PKG_BUILD_DIR)/lib/edit.l \ + $(PKG_BUILD_DIR)/lib/ed.l \ + $(PKG_BUILD_DIR)/lib/form.l \ + $(PKG_BUILD_DIR)/lib/frac.l \ + $(PKG_BUILD_DIR)/lib/heartbeat.l \ + $(PKG_BUILD_DIR)/lib/http.l \ + $(PKG_BUILD_DIR)/lib/import.l \ + $(PKG_BUILD_DIR)/lib/led.l \ + $(PKG_BUILD_DIR)/lib/lint.l \ + $(PKG_BUILD_DIR)/lib/math32.l \ + $(PKG_BUILD_DIR)/lib/math64.l \ + $(PKG_BUILD_DIR)/lib/math.l \ + $(PKG_BUILD_DIR)/lib/misc.l \ + $(PKG_BUILD_DIR)/lib/pilog.l \ + $(PKG_BUILD_DIR)/lib/prof.l \ + $(PKG_BUILD_DIR)/lib/ps.l \ + $(PKG_BUILD_DIR)/lib/rsa.l \ + $(PKG_BUILD_DIR)/lib/scrape.l \ + $(PKG_BUILD_DIR)/lib/simul.l \ + $(PKG_BUILD_DIR)/lib/sq.l \ + $(PKG_BUILD_DIR)/lib/too.l \ + $(PKG_BUILD_DIR)/lib/xhtml.l \ + $(PKG_BUILD_DIR)/lib/xm.l \ + $(PKG_BUILD_DIR)/lib/xml.l \ + $(PKG_BUILD_DIR)/lib/xmlrpc.l $(1)/usr/lib/picolisp/lib/ + touch $(1)/usr/lib/picolisp/lib/tags + $(STRIP) $(1)/usr/bin/picolisp +endef + +$(eval $(call BuildPackage,picolisp)) diff --git a/picolisp/patches/001-mips.diff b/picolisp/patches/001-mips.diff new file mode 100644 index 000000000..85949695e --- /dev/null +++ b/picolisp/patches/001-mips.diff @@ -0,0 +1,43 @@ +diff -Nur picoLisp/Makefile picoLisp-new/Makefile +--- picoLisp/Makefile 1969-12-31 21:00:00.000000000 -0300 ++++ picoLisp-new/Makefile 2015-06-02 15:38:07.469726899 -0300 +@@ -0,0 +1,6 @@ ++all: ++ (cd src; make) ++ ++clean: ++ (cd src; make clean) ++ +diff -Nur picoLisp/src/Makefile picoLisp-new/src/Makefile +--- picoLisp/src/Makefile 2015-03-31 15:48:22.000000000 -0300 ++++ picoLisp-new/src/Makefile 2015-06-02 15:40:43.541491599 -0300 +@@ -6,9 +6,13 @@ + + picoFiles = main.c gc.c apply.c flow.c sym.c subr.c big.c io.c net.c tab.c + +-CC = gcc ++#CC = gcc + # CCLD is the cc (compiler frontend) to use for the link step. +-CCLD = gcc ++#CCLD = gcc ++ ++# Honor the $(CC) variable, inherited form the environment (it's essential ++# when cross-compiling) ++CCLD = $(CC) + + CFLAGS = -c -O2 -pipe \ + -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing \ +@@ -19,10 +23,10 @@ + + ifeq ($(shell uname), Linux) + OS = Linux +- CFLAGS += -m32 +- PICOLISP-FLAGS = -m32 -rdynamic ++ CFLAGS += -mabi=32 -fPIC ++ PICOLISP-FLAGS = -rdynamic + LIB-FLAGS = -lm -ldl +- DYNAMIC-LIB-FLAGS = -m32 -shared -export-dynamic ++ DYNAMIC-LIB-FLAGS = -shared -export-dynamic -fPIC + LCRYPT = -lcrypt + STRIP = strip + else