From 9c0ea8a3dd94ae401182647123ac8078a2b9fc7e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 2 Jun 2008 15:50:48 +0000 Subject: [PATCH] add luaposix crypt support (and darwin_compile patch for patch compatibility reasons) SVN-Revision: 11327 --- lang/luaposix/Makefile | 3 +- .../luaposix/patches/100-darwin_compile.patch | 27 ++++++++ lang/luaposix/patches/200-crypt.patch | 66 +++++++++++++++++++ 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 lang/luaposix/patches/100-darwin_compile.patch create mode 100644 lang/luaposix/patches/200-crypt.patch diff --git a/lang/luaposix/Makefile b/lang/luaposix/Makefile index bec0b11fb..e563b6b3f 100644 --- a/lang/luaposix/Makefile +++ b/lang/luaposix/Makefile @@ -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 index 000000000..07943acab --- /dev/null +++ b/lang/luaposix/patches/100-darwin_compile.patch @@ -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 index 000000000..e90f31061 --- /dev/null +++ b/lang/luaposix/patches/200-crypt.patch @@ -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 + -- 2.30.2