add luaposix crypt support (and darwin_compile patch for patch compatibility reasons)
authorFelix Fietkau <nbd@openwrt.org>
Mon, 2 Jun 2008 15:50:48 +0000 (15:50 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 2 Jun 2008 15:50:48 +0000 (15:50 +0000)
SVN-Revision: 11327

lang/luaposix/Makefile
lang/luaposix/patches/100-darwin_compile.patch [new file with mode: 0644]
lang/luaposix/patches/200-crypt.patch [new file with mode: 0644]

index bec0b11..e563b6b 100644 (file)
@@ -39,7 +39,8 @@ define Build/Compile
                AR="$(TARGET_CROSS)ar rcu" \
                RANLIB="$(TARGET_CROSS)ranlib" \
                INSTALL_ROOT=/usr \
-               LUAINC=$(STAGING_DIR)/usr/include
+               LUAINC=$(STAGING_DIR)/usr/include \
+               OS=Linux
        $(STRIP) $(PKG_BUILD_DIR)/posix.so
 endef
 
diff --git a/lang/luaposix/patches/100-darwin_compile.patch b/lang/luaposix/patches/100-darwin_compile.patch
new file mode 100644 (file)
index 0000000..07943ac
--- /dev/null
@@ -0,0 +1,27 @@
+Index: luaposix-5.1.2/Makefile
+===================================================================
+--- luaposix-5.1.2.orig/Makefile       2008-01-29 14:49:27.000000000 +0100
++++ luaposix-5.1.2/Makefile    2008-05-28 14:15:30.000000000 +0200
+@@ -34,6 +34,13 @@
+ T=            $(MYLIB).so
++OS=$(shell uname)
++ifeq ($(OS),Darwin)
++  LDFLAGS_SHARED=-bundle -undefined dynamic_lookup
++else
++  LDFLAGS_SHARED=-shared
++endif
++
+ # targets
+ phony += all
+ all:  $T
+@@ -43,7 +50,7 @@
+       $(LUA) test.lua
+ $T:   $(OBJS)
+-      $(CC) $(LDFLAGS) -o $@ -shared $(OBJS)
++      $(CC) $(LDFLAGS) -o $@ $(LDFLAGS_SHARED) $(OBJS)
+ $(OBJS): modemuncher.c
diff --git a/lang/luaposix/patches/200-crypt.patch b/lang/luaposix/patches/200-crypt.patch
new file mode 100644 (file)
index 0000000..e90f310
--- /dev/null
@@ -0,0 +1,66 @@
+Index: luaposix-5.1.2/lposix.c
+===================================================================
+--- luaposix-5.1.2.orig/lposix.c       2008-06-02 17:35:21.000000000 +0200
++++ luaposix-5.1.2/lposix.c    2008-06-02 17:35:26.000000000 +0200
+@@ -1006,6 +1006,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},
+@@ -1013,6 +1036,7 @@
+       {"chdir",               Pchdir},
+       {"chmod",               Pchmod},
+       {"chown",               Pchown},
++      {"crypt",               Pcrypt},
+       {"ctermid",             Pctermid},
+       {"dirname",             Pdirname},
+       {"dir",                 Pdir},
+Index: luaposix-5.1.2/Makefile
+===================================================================
+--- luaposix-5.1.2.orig/Makefile       2008-06-02 17:35:26.000000000 +0200
++++ luaposix-5.1.2/Makefile    2008-06-02 17:35:18.000000000 +0200
+@@ -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