diff options
Diffstat (limited to 'lang')
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/lua52/Makefile | 74 | ||||
-rw-r--r-- | lang/lua52/distinfo | 2 | ||||
-rw-r--r-- | lang/lua52/files/patch-Makefile | 44 | ||||
-rw-r--r-- | lang/lua52/files/patch-src__Makefile | 58 | ||||
-rw-r--r-- | lang/lua52/files/patch-src__liolib.c | 10 | ||||
-rw-r--r-- | lang/lua52/pkg-descr | 21 | ||||
-rw-r--r-- | lang/lua52/pkg-plist | 29 |
8 files changed, 239 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile index e27e9b9f07c1..273bf76982ed 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -152,6 +152,7 @@ SUBDIR += lua-mode.el SUBDIR += lua4 SUBDIR += lua50 + SUBDIR += lua52 SUBDIR += luajit SUBDIR += lush SUBDIR += malbolge diff --git a/lang/lua52/Makefile b/lang/lua52/Makefile new file mode 100644 index 000000000000..03099690eb1e --- /dev/null +++ b/lang/lua52/Makefile @@ -0,0 +1,74 @@ +# Created by: GreenDog <fiziologus@gmail.com> +# $FreeBSD$ + +PORTNAME= lua +PORTVERSION= 5.2.1 +CATEGORIES= lang +MASTER_SITES= http://www.lua.org/ftp/ + +MAINTAINER= fisiologus@gmail.com +COMMENT= Small, compilable scripting language providing easy access to C code + +LICENSE= MIT + +#USE_LUA= 5.2 +LUA_VER= 5.2 +LUA_VER_SH= 1 +LUA_VER_STR= 52 +LUA_SUBDIR= lua${LUA_VER_STR} +LUA_PREFIX= ${PREFIX} +LUA_BINDIR= ${LUA_PREFIX}/bin/${LUA_SUBDIR} +LUA_INCDIR= ${LUA_PREFIX}/include/${LUA_SUBDIR} +LUA_LIBDIR= ${LUA_PREFIX}/lib/${LUA_SUBDIR} +LUA_MODLIBDIR= ${LUA_PREFIX}/lib/lua/${LUA_VER} +LUA_MODSHAREDIR= ${LUA_PREFIX}/share/lua/${LUA_VER} + +ALL_TARGET= freebsd +USE_LDCONFIG= yes +MAKE_JOBS_SAFE= yes +MAKE_ENV= LUA_SONAME="liblua-${LUA_VER}.so.${LUA_VER_SH}" \ + MYCFLAGS="${CFLAGS}" MYLDFLAGS="${LDFLAGS}" +# liblua.so requires libm, so make sure it has an explicit dependency +# so that applications need not second-guess lua's dependencies. +LDFLAGS+= -lm + +MAN1= lua-${LUA_VER}.1 luac-${LUA_VER}.1 +DOCSDIR= ${PREFIX}/share/doc/${LUA_SUBDIR} +LATEST_LINK= ${LUA_SUBDIR} + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "amd64" || ${ARCH} == "powerpc" +CFLAGS+= -fPIC +.endif + +post-patch: + @${REINPLACE_CMD} -Ee \ + "s|%%LUA_PREFIX%%|${LUA_PREFIX}| ; \ + s|%%LUA_BINDIR%%|${LUA_BINDIR}| ; \ + s|%%LUA_INCDIR%%|${LUA_INCDIR}| ; \ + s|%%LUA_LIBDIR%%|${LUA_LIBDIR}| ; \ + s|%%LUA_MODSHAREDIR%%|${LUA_MODSHAREDIR}| ; \ + s|%%LUA_MODLIBDIR%%|${LUA_MODLIBDIR}| ; \ + s|%%LUA_VER_SH%%|${LUA_VER_SH}|" \ + ${WRKSRC}/Makefile + @${REINPLACE_CMD} -e 's,rand *(,random(,g' \ + ${WRKSRC}/src/lmathlib.c + @${REINPLACE_CMD} -e "/LUA_ROOT/s|/usr/local|${LUA_PREFIX}|" \ + ${WRKSRC}/src/luaconf.h + +post-install: +.for f in lua luac + ${LN} -sf ${LUA_BINDIR}/${f} ${PREFIX}/bin/${f}-${LUA_VER} +.endfor + ${LN} -sf ${LUA_LIBDIR}/liblua-${LUA_VER}.so.${LUA_VER_SH} ${LUA_LIBDIR}/liblua.so + ${LN} -sf ${LUA_SUBDIR}/liblua-${LUA_VER}.so.${LUA_VER_SH} ${PREFIX}/lib + ${LN} -sf liblua-${LUA_VER}.so.${LUA_VER_SH} ${PREFIX}/lib/liblua-${LUA_VER}.so + +# Documentation. +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${DOCSDIR} + cd ${WRKSRC}/doc && ${INSTALL_DATA} *.html *.gif *.css *.png ${DOCSDIR} +.endif + +.include <bsd.port.post.mk> diff --git a/lang/lua52/distinfo b/lang/lua52/distinfo new file mode 100644 index 000000000000..061fcbe7f1b0 --- /dev/null +++ b/lang/lua52/distinfo @@ -0,0 +1,2 @@ +SHA256 (lua-5.2.1.tar.gz) = 64304da87976133196f9e4c15250b70f444467b6ed80d7cfd7b3b982b5177be5 +SIZE (lua-5.2.1.tar.gz) = 249882 diff --git a/lang/lua52/files/patch-Makefile b/lang/lua52/files/patch-Makefile new file mode 100644 index 000000000000..abed9c763112 --- /dev/null +++ b/lang/lua52/files/patch-Makefile @@ -0,0 +1,44 @@ +--- Makefile.orig 2012-12-14 18:29:11.000000000 +0400 ++++ Makefile 2012-12-14 18:45:06.000000000 +0400 +@@ -10,13 +10,13 @@ + # so take care if INSTALL_TOP is not an absolute path. See the local target. + # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with + # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. +-INSTALL_TOP= /usr/local +-INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_INC= $(INSTALL_TOP)/include +-INSTALL_LIB= $(INSTALL_TOP)/lib ++INSTALL_TOP= %%LUA_PREFIX%% ++INSTALL_BIN= %%LUA_BINDIR%% ++INSTALL_INC= %%LUA_INCDIR%% ++INSTALL_LIB= %%LUA_LIBDIR%% + INSTALL_MAN= $(INSTALL_TOP)/man/man1 +-INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V +-INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V ++INSTALL_LMOD= %%LUA_MODSHAREDIR%% ++INSTALL_CMOD= %%LUA_MODLIBDIR%% + + # How to install. If your install program does not support "-p", then + # you may have to run ranlib on the installed liblua.a. +@@ -41,8 +41,8 @@ + # What to install. + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +-TO_LIB= liblua.a +-TO_MAN= lua.1 luac.1 ++TO_LIB= liblua.a liblua-5.2.so.1 ++TO_MAN= lua-5.2.1 luac-5.2.1 + + # Lua version and release. + V= 5.2 +@@ -61,8 +61,8 @@ + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) +- cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) +- cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) ++ cd src && mv liblua.so liblua-$V.so.%%LUA_VER_SH%% && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) ++ cd doc && mv lua.1 lua-$V.1 && mv luac.1 luac-$V.1 && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) + + uninstall: + cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) diff --git a/lang/lua52/files/patch-src__Makefile b/lang/lua52/files/patch-src__Makefile new file mode 100644 index 000000000000..4e010bacf44c --- /dev/null +++ b/lang/lua52/files/patch-src__Makefile @@ -0,0 +1,58 @@ +--- src/Makefile.orig 2012-03-09 20:32:16.000000000 +0400 ++++ src/Makefile 2012-12-14 16:39:47.000000000 +0400 +@@ -6,12 +6,13 @@ + # Your platform. See PLATS for possible values. + PLAT= none + +-CC= gcc +-CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) ++CC?= gcc ++CFLAGS= -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) + LIBS= -lm $(SYSLIBS) $(MYLIBS) + +-AR= ar rcu ++AR= ar ++ARFLAGS= rcu + RANLIB= ranlib + RM= rm -f + +@@ -19,8 +20,8 @@ + SYSLDFLAGS= + SYSLIBS= + +-MYCFLAGS= +-MYLDFLAGS= ++MYCFLAGS?= ++MYLDFLAGS?= + MYLIBS= + MYOBJS= + +@@ -38,12 +39,13 @@ + + LUA_T= lua + LUA_O= lua.o ++LUA_SO= liblua.so + + LUAC_T= luac + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -55,8 +57,11 @@ + + a: $(ALL_A) + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(MYLDFLAGS) -shared -Wl,-soname=$(LUA_SONAME) $? ++ + $(LUA_A): $(BASE_O) +- $(AR) $@ $(BASE_O) ++ $(AR) $(ARFLAGS) $@ $(BASE_O) + $(RANLIB) $@ + + $(LUA_T): $(LUA_O) $(LUA_A) diff --git a/lang/lua52/files/patch-src__liolib.c b/lang/lua52/files/patch-src__liolib.c new file mode 100644 index 000000000000..35a3db195d14 --- /dev/null +++ b/lang/lua52/files/patch-src__liolib.c @@ -0,0 +1,10 @@ +--- ./src/liolib.c.orig 2013-01-05 22:46:54.000000000 +0100 ++++ ./src/liolib.c 2013-01-05 22:47:32.000000000 +0100 +@@ -19,6 +19,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <unistd.h> + + #define liolib_c + #define LUA_LIB diff --git a/lang/lua52/pkg-descr b/lang/lua52/pkg-descr new file mode 100644 index 000000000000..d0ed8afbd09c --- /dev/null +++ b/lang/lua52/pkg-descr @@ -0,0 +1,21 @@ +Lua is a programming language originally designed for extending applications, +but also frequently used as a general-purpose, stand-alone language. Lua +combines simple procedural syntax (similar to Pascal) with powerful data +description constructs based on associative arrays and extensible semantics. +Lua is dynamically typed, interpreted from bytecodes, and has automatic memory +management with garbage collection, making it ideal for configuration, +scripting, and rapid prototyping. + +A fundamental concept in the design of Lua is to provide meta-mechanisms for +implementing features, instead of providing a host of features directly in +the language. For example, although Lua is not a pure object-oriented +language, it does provide meta-mechanisms for implementing classes and +inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the +language small, while allowing the semantics to be extended in unconventional +ways. Extensible semantics is a distinguishing feature of Lua. + +Lua is implemented as a small library of C functions, written in ANSI C, and +compiles unmodified in all known platforms. The implementation goals are +simplicity, efficiency, portability, and low embedding cost. + +WWW: http://www.lua.org/ diff --git a/lang/lua52/pkg-plist b/lang/lua52/pkg-plist new file mode 100644 index 000000000000..da41dddbc692 --- /dev/null +++ b/lang/lua52/pkg-plist @@ -0,0 +1,29 @@ +bin/lua-5.2 +bin/lua52/lua +bin/lua52/luac +bin/luac-5.2 +include/lua52/lauxlib.h +include/lua52/lua.h +include/lua52/lua.hpp +include/lua52/luaconf.h +include/lua52/lualib.h +lib/liblua-5.2.so +lib/liblua-5.2.so.1 +lib/lua52/liblua-5.2.so.1 +lib/lua52/liblua.a +lib/lua52/liblua.so +%%PORTDOCS%%%%DOCSDIR%%/contents.html +%%PORTDOCS%%%%DOCSDIR%%/logo.gif +%%PORTDOCS%%%%DOCSDIR%%/lua.css +%%PORTDOCS%%%%DOCSDIR%%/manual.css +%%PORTDOCS%%%%DOCSDIR%%/manual.html +%%PORTDOCS%%%%DOCSDIR%%/osi-certified-72x60.png +%%PORTDOCS%%%%DOCSDIR%%/readme.html +%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrm bin/lua52 +@dirrm include/lua52 +@dirrm lib/lua52 +@dirrmtry lib/lua/5.2 +@dirrmtry lib/lua +@dirrmtry share/lua/5.2 +@dirrmtry share/lua |