From 3057315a1bd24fd59b2460974a29913cec435e72 Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Sun, 16 May 2021 19:05:35 -0700 Subject: [PATCH] Make default redbean lua module path zip:.lua/... Fixes #157 --- third_party/lua/luaconf.h | 10 ++++------ tool/net/demo/.init.lua | 2 ++ tool/net/demo/.lua/mymodule.lua | 10 ++++++++++ tool/net/demo/hello.lua | 2 +- tool/net/net.mk | 7 ++++++- 5 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 tool/net/demo/.lua/mymodule.lua diff --git a/third_party/lua/luaconf.h b/third_party/lua/luaconf.h index f5578c07b..e36d0eb0c 100644 --- a/third_party/lua/luaconf.h +++ b/third_party/lua/luaconf.h @@ -219,15 +219,13 @@ #else /* }{ */ -#define LUA_ROOT "/usr/local/" -#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" -#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" +#define LUA_ROOT "zip:" +#define LUA_LDIR LUA_ROOT ".lua/" +#define LUA_CDIR LUA_ROOT ".lua/" #if !defined(LUA_PATH_DEFAULT) #define LUA_PATH_DEFAULT \ - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ - "./?.lua;" "./?/init.lua" + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua" #endif #if !defined(LUA_CPATH_DEFAULT) diff --git a/tool/net/demo/.init.lua b/tool/net/demo/.init.lua index bed6b40fa..ae6514525 100644 --- a/tool/net/demo/.init.lua +++ b/tool/net/demo/.init.lua @@ -1,3 +1,5 @@ +mymodule = require "mymodule" + -- /.init.lua is loaded at startup in redbean's main process HidePath('/usr/share/zoneinfo/') diff --git a/tool/net/demo/.lua/mymodule.lua b/tool/net/demo/.lua/mymodule.lua new file mode 100644 index 000000000..54f4e395d --- /dev/null +++ b/tool/net/demo/.lua/mymodule.lua @@ -0,0 +1,10 @@ +local mymodule = {} + +function mymodule.hello() + SetStatus(200) + SetHeader('Content-Type', 'text/html; charset=US-ASCII') + Write("\r\n") + Write("Hello World!\r\n") +end + +return mymodule diff --git a/tool/net/demo/hello.lua b/tool/net/demo/hello.lua index 368af761d..05569ca65 100644 --- a/tool/net/demo/hello.lua +++ b/tool/net/demo/hello.lua @@ -1,2 +1,2 @@ -Write('hello world\r\n') StoreAsset('/hi', 'sup') +mymodule.hello() diff --git a/tool/net/net.mk b/tool/net/net.mk index c61ee0bba..06005d929 100644 --- a/tool/net/net.mk +++ b/tool/net/net.mk @@ -92,6 +92,7 @@ o/$(MODE)/tool/net/redbean-demo.com: \ tool/net/.help.txt \ tool/net/demo/.init.lua \ tool/net/demo/.reload.lua \ + tool/net/demo/.lua/mymodule.lua \ tool/net/demo/404.html \ tool/net/demo/hello.lua \ tool/net/demo/index.html \ @@ -110,7 +111,11 @@ o/$(MODE)/tool/net/redbean-demo.com: \ @$(COMPILE) -AOBJCOPY -T$@ $(OBJCOPY) -S -O binary $< $@ @$(COMPILE) -AMKDIR -T$@ mkdir -p o/$(MODE)/tool/net/.redbean-demo @$(COMPILE) -ADD -T$@ dd if=$@ of=o/$(MODE)/tool/net/.redbean-demo/.ape bs=64 count=11 conv=notrunc 2>/dev/null - @$(COMPILE) -AZIP -T$@ zip -qj $@ o/$(MODE)/tool/net/.redbean-demo/.ape tool/net/.help.txt tool/net/demo/.init.lua tool/net/demo/.reload.lua tool/net/demo/hello.lua + @$(COMPILE) -AZIP -T$@ zip -qj $@ o/$(MODE)/tool/net/.redbean-demo/.ape tool/net/.help.txt tool/net/demo/.init.lua tool/net/demo/.reload.lua + @$(COMPILE) -ARM -T$@ rm -rf o/$(MODE)/tool/net/.lua + @$(COMPILE) -ACP -T$@ cp -R tool/net/demo/.lua o/$(MODE)/tool/net/ + @(cd o/$(MODE)/tool/net && zip -qr redbean-demo.com .lua) + @$(COMPILE) -AZIP -T$@ zip -qj $@ tool/net/demo/hello.lua @echo "<-- check out this lua server page" | $(COMPILE) -AZIP -T$@ zip -cqj $@ tool/net/demo/redbean.lua @$(COMPILE) -AZIP -T$@ zip -qj $@ tool/net/demo/404.html tool/net/favicon.ico tool/net/redbean.png tool/net/demo/redbean-form.lua tool/net/demo/redbean-xhr.lua @echo Uncompressed for HTTP Range requests | $(COMPILE) -AZIP -T$@ zip -cqj0 $@ tool/net/demo/seekable.txt