include ../../build/config.mk
include ../../build/gccconfig.mk
-LUAPOSIX_VERSION = 5.1.3
+LUAPOSIX_VERSION = 5.1.4
LUAPOSIX_SITE = http://dev.luci.freifunk-halle.net/sources/
LUAPOSIX_DIR = luaposix-$(LUAPOSIX_VERSION)
-LUAPOSIX_FILE = $(LUAPOSIX_DIR).tar.gz
+LUAPOSIX_FILE = lua-posix_5.1.4.orig.tar.gz
LUAPOSIX_URL = $(LUAPOSIX_SITE)/$(LUAPOSIX_FILE)
LUAPOSIX_PATCHDIR = patches
$(LUAPOSIX_FILE):
wget -O $@ $(LUAPOSIX_URL) || rm -f $@
-$(LUAPOSIX_PATCHDIR)/series:
- (cd $(LUAPOSIX_PATCHDIR); ls *.patch | sort > series)
-
$(LUAPOSIX_DIR)/.prepared: $(LUAPOSIX_FILE)
rm -rf $(LUAPOSIX_DIR)
tar xvfz $(LUAPOSIX_FILE)
- ln -s ../$(LUAPOSIX_PATCHDIR) $(LUAPOSIX_DIR)/patches
- touch $@
-
-$(LUAPOSIX_DIR)/.patched: $(LUAPOSIX_DIR)/.prepared $(LUAPOSIX_PATCHDIR)/series
- (cd $(LUAPOSIX_DIR); \
- if [ -x "$$(which quilt 2>/dev/null)" ]; then \
- quilt push -a; \
- else \
- cat patches/*.patch | patch -p1; \
- fi; \
- )
touch $@
-compile: $(LUAPOSIX_DIR)/.patched
+compile: $(LUAPOSIX_DIR)/.prepared
$(MAKE) -C $(LUAPOSIX_DIR) CC=$(CC) CFLAGS="$(CFLAGS) $(LUA_CFLAGS)" LDFLAGS="$(LDFLAGS) $(LUA_SHLIBS)" OS="$(OS)"
mkdir -p dist$(LUA_LIBRARYDIR)
cp $(LUAPOSIX_DIR)/posix.so dist$(LUA_LIBRARYDIR)
+++ /dev/null
---- a/lposix.c
-+++ b/lposix.c
-@@ -1016,6 +1016,29 @@
- }
- #endif
-
-+/*
-+ * XXX: GNU and BSD handle the forward declaration of crypt() in different
-+ * and annoying ways (especially GNU). Declare it here just to make sure
-+ * that it's there
-+ */
-+char *crypt(const char *, const char *);
-+
-+static int Pcrypt(lua_State *L)
-+{
-+ const char *str, *salt;
-+ char *res;
-+
-+ str = luaL_checkstring(L, 1);
-+ salt = luaL_checkstring(L, 2);
-+ if (strlen(salt) < 2)
-+ luaL_error(L, "not enough salt");
-+
-+ res = crypt(str, salt);
-+ lua_pushstring(L, res);
-+
-+ return 1;
-+}
-+
- static const luaL_reg R[] =
- {
- {"access", Paccess},
-@@ -1023,6 +1046,7 @@
- {"chdir", Pchdir},
- {"chmod", Pchmod},
- {"chown", Pchown},
-+ {"crypt", Pcrypt},
- {"ctermid", Pctermid},
- {"dirname", Pdirname},
- {"dir", Pdir},
---- a/Makefile
-+++ b/Makefile
-@@ -37,8 +37,10 @@
- OS=$(shell uname)
- ifeq ($(OS),Darwin)
- LDFLAGS_SHARED=-bundle -undefined dynamic_lookup
-+ LIBS=
- else
- LDFLAGS_SHARED=-shared
-+ LIBS=-lcrypt
- endif
-
- # targets
-@@ -50,7 +52,7 @@
- $(LUA) test.lua
-
- $T: $(OBJS)
-- $(CC) $(LDFLAGS) -o $@ $(LDFLAGS_SHARED) $(OBJS)
-+ $(CC) $(LDFLAGS) -o $@ $(LDFLAGS_SHARED) $(OBJS) $(LIBS)
-
- $(OBJS): modemuncher.c
-