haserl: import from packages, update to latest

Signed-off-by: Maxim Storchak <m.storchak@gmail.com>
This commit is contained in:
Maxim Storchak 2014-06-14 09:34:22 +03:00
parent 13d6e6f3b4
commit d6a642393f
4 changed files with 176 additions and 0 deletions

35
utils/haserl/Config.in Normal file
View File

@ -0,0 +1,35 @@
if PACKAGE_haserl
config HASERL_with_lua
bool
default n
comment "Lua support"
config HASERL_shell_luac
bool
prompt "Support --shell=luac"
select HASERL_with_lua
default n
help
haserl(1):
The luac "shell" is a precompiled lua chunk, so interactive
editing and testing of scripts is not possible. However,
haserl can be compiled with luac support only, and this
allows lua support even in a small memory environment. All
haserl lua features listed above are still available. (If
luac is the only shell built into haserl, the
haserl.loadfile is disabled, as the haserl parser is not
compiled in.)
config HASERL_shell_lua
bool
prompt "Support --shell=lua"
select HASERL_with_lua
default n
help
haserl(1):
If compiled with lua support, --shell=lua will enable lua as the
script language instead of bash shell.
endif

50
utils/haserl/Makefile Normal file
View File

@ -0,0 +1,50 @@
#
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=haserl
PKG_VERSION:=0.9.33
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/haserl
PKG_MD5SUM:=a9decddb508944d56f71dd2f821e2ec5
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
include $(INCLUDE_DIR)/package.mk
define Package/haserl
SECTION:=utils
CATEGORY:=Utilities
TITLE:=A CGI wrapper to embed shell scripts in HTML documents
URL:=http://haserl.sourceforge.net/
MENU:=1
DEPENDS:= +HASERL_with_lua:liblua
endef
define Package/haserl/config
source "$(SOURCE)/Config.in"
endef
ifeq ($(CONFIG_HASERL_with_lua),y)
CONFIGURE_ARGS+=--with-lua
TARGET_LDFLAGS += -ldl
endif
ifneq ($(CONFIG_HASERL_shell_lua),y)
CONFIGURE_ARGS+=--disable-luashell
endif
ifneq ($(CONFIG_HASERL_shell_luac),y)
CONFIGURE_ARGS+=--disable-luacshell
endif
define Package/haserl/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/haserl $(1)/usr/bin/
endef
$(eval $(call BuildPackage,haserl))

View File

@ -0,0 +1,80 @@
--- a/src/Makefile.in 2013-09-20 23:52:15.000000000 +0300
+++ b/src/Makefile.in 2014-05-03 23:06:17.000000000 +0300
@@ -76,7 +76,6 @@
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-@USE_LUA_TRUE@noinst_PROGRAMS = lua2c$(EXEEXT)
@INCLUDE_LUASHELL_TRUE@@USE_LUA_TRUE@am__append_1 = h_lua.c h_lua.h
@INCLUDE_LUACSHELL_TRUE@@USE_LUA_TRUE@am__append_2 = h_luac.c h_luac.h
bin_PROGRAMS = haserl$(EXEEXT)
@@ -115,9 +114,6 @@
haserl_DEPENDENCIES = $(am__DEPENDENCIES_1)
haserl_LINK = $(CCLD) $(haserl_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-lua2c_SOURCES = lua2c.c
-lua2c_OBJECTS = lua2c.$(OBJEXT)
-lua2c_LDADD = $(LDADD)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -150,8 +146,8 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(haserl_SOURCES) $(nodist_haserl_SOURCES) lua2c.c
-DIST_SOURCES = $(am__haserl_SOURCES_DIST) lua2c.c
+SOURCES = $(haserl_SOURCES) $(nodist_haserl_SOURCES)
+DIST_SOURCES = $(am__haserl_SOURCES_DIST)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -273,7 +269,7 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-EXTRA_DIST = haserl_lualib.lua lua2c.c
+EXTRA_DIST = haserl_lualib.lua
# Not strictly required, but we explicitly do not distribute the generated inc file
nodist_haserl_SOURCES = haserl_lualib.inc
@@ -386,10 +382,6 @@
@rm -f haserl$(EXEEXT)
$(AM_V_CCLD)$(haserl_LINK) $(haserl_OBJECTS) $(haserl_LDADD) $(LIBS)
-@USE_LUA_FALSE@lua2c$(EXEEXT): $(lua2c_OBJECTS) $(lua2c_DEPENDENCIES) $(EXTRA_lua2c_DEPENDENCIES)
-@USE_LUA_FALSE@ @rm -f lua2c$(EXEEXT)
-@USE_LUA_FALSE@ $(AM_V_CCLD)$(LINK) $(lua2c_OBJECTS) $(lua2c_LDADD) $(LIBS)
-
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -406,7 +398,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/haserl-haserl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/haserl-rfc2388.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/haserl-sliding_buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lua2c.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -758,17 +749,13 @@
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
-# lua2c_LIBS ?= -llua -ldl -lm
-@USE_LUA_TRUE@lua2c_LDFLAGS ?= -Wl,-E
-@USE_LUA_TRUE@lua2c: lua2c.c
-@USE_LUA_TRUE@ $(CC_FOR_BUILD) $(CFLAGS) $(LUA_CFLAGS) $(LDFLAGS) $(lua2c_LDFLAGS) \
-@USE_LUA_TRUE@ -o $@ $^ $(LIBS) $(LUA_LIBS)
-@USE_LUA_TRUE@haserl_lualib.inc : haserl_lualib.lua lua2c
-@USE_LUA_TRUE@ if ! ./lua2c haserl_lualib haserl_lualib.lua >$@; then \
+@USE_LUA_TRUE@haserl_lualib.inc : haserl_lualib.lua
+@USE_LUA_TRUE@ if ! sed -re '/--\[\[/,/\]\]--/d; s/[[:space:]]*--.*//g; s/^[[:space:]]*//g; /^$$/d; s/ (=+) /\1/g; s/,[[:space:]]*/,/g; s/ ([()])/\1/g; s/key/k/g; s/value/v/g; s/^/"/; s/$$/\\n"/' haserl_lualib.lua >$@.tmp; then \
@USE_LUA_TRUE@ rm $@; \
@USE_LUA_TRUE@ exit 1 ;\
@USE_LUA_TRUE@ fi
+@USE_LUA_TRUE@ { echo "static const char haserl_lualib[] = "; cat $@.tmp; echo ";"; rm $@.tmp; } >$@
@USE_LUA_TRUE@h_lua_common.c : haserl_lualib.inc

View File

@ -0,0 +1,11 @@
--- a/src/h_lua_common.c 2013-09-20 23:35:19.000000000 +0300
+++ b/src/h_lua_common.c 2014-05-03 19:27:43.000000000 +0300
@@ -79,7 +79,7 @@
/* and load our haserl library */
if (luaL_loadbuffer
- (lua_vm, (const char *) &haserl_lualib, sizeof (haserl_lualib),
+ (lua_vm, (const char *) haserl_lualib, sizeof(haserl_lualib)-1,
"luascript.lua") || lua_pcall (lua_vm, 0, 0, 0))
{
die_with_message (NULL, NULL,