diff options
author | alnsn <alnsn@pkgsrc.org> | 2015-01-17 17:50:23 +0000 |
---|---|---|
committer | alnsn <alnsn@pkgsrc.org> | 2015-01-17 17:50:23 +0000 |
commit | a8e35818f2da7ddcc9e73116ee8ca1b8edad9aa5 (patch) | |
tree | fff4c2c94cceae56a627ba40616c4c8e12b4a650 /lang/lua53 | |
parent | 1e73e72c842ed198c2444783e6dc42d2fac25d91 (diff) | |
download | pkgsrc-a8e35818f2da7ddcc9e73116ee8ca1b8edad9aa5.tar.gz |
Initial import of Lua 5.3.0.
Lua is a powerful, light-weight programming language designed for
extending applications. Lua is 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, making it ideal for
configuration, scripting, and rapid prototyping.
Lua is a language engine that you can embed into your application.
This means that, besides syntax and semantics, Lua has an API that
allows the application to exchange data with Lua programs and also to
extend Lua with C functions. In this sense, Lua can be regarded as a
language framework for building domain-specific languages.
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.
The result is a fast language engine with small footprint, making it
ideal in embedded systems too.
Diffstat (limited to 'lang/lua53')
-rw-r--r-- | lang/lua53/ALTERNATIVES | 2 | ||||
-rw-r--r-- | lang/lua53/DESCR | 21 | ||||
-rw-r--r-- | lang/lua53/Makefile | 64 | ||||
-rw-r--r-- | lang/lua53/PLIST | 21 | ||||
-rw-r--r-- | lang/lua53/buildlink3.mk | 24 | ||||
-rw-r--r-- | lang/lua53/distinfo | 8 | ||||
-rw-r--r-- | lang/lua53/files/lua.pc.in | 21 | ||||
-rw-r--r-- | lang/lua53/patches/patch-Makefile | 50 | ||||
-rw-r--r-- | lang/lua53/patches/patch-src_Makefile | 78 | ||||
-rw-r--r-- | lang/lua53/patches/patch-src_luaconf.h | 23 | ||||
-rw-r--r-- | lang/lua53/version.mk | 6 |
11 files changed, 318 insertions, 0 deletions
diff --git a/lang/lua53/ALTERNATIVES b/lang/lua53/ALTERNATIVES new file mode 100644 index 00000000000..a8f35219757 --- /dev/null +++ b/lang/lua53/ALTERNATIVES @@ -0,0 +1,2 @@ +bin/lua @PREFIX@/bin/lua5.3 +bin/luac @PREFIX@/bin/luac5.3 diff --git a/lang/lua53/DESCR b/lang/lua53/DESCR new file mode 100644 index 00000000000..b3e57a165fe --- /dev/null +++ b/lang/lua53/DESCR @@ -0,0 +1,21 @@ +Lua is a powerful, light-weight programming language designed for +extending applications. Lua is 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, making it ideal for +configuration, scripting, and rapid prototyping. + +Lua is a language engine that you can embed into your application. +This means that, besides syntax and semantics, Lua has an API that +allows the application to exchange data with Lua programs and also to +extend Lua with C functions. In this sense, Lua can be regarded as a +language framework for building domain-specific languages. + +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. +The result is a fast language engine with small footprint, making it +ideal in embedded systems too. diff --git a/lang/lua53/Makefile b/lang/lua53/Makefile new file mode 100644 index 00000000000..c90e18619d8 --- /dev/null +++ b/lang/lua53/Makefile @@ -0,0 +1,64 @@ +# $NetBSD: Makefile,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +DISTNAME= lua-${LUA_VERSION} +PKGNAME= lua53-${LUA_VERSION} +CATEGORIES= lang +MASTER_SITES= http://www.lua.org/ftp/ \ + http://www.tecgraf.puc-rio.br/lua/ftp/ + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.lua.org/ +COMMENT= Powerful light-weight language for extending applications +LICENSE= mit + +.include "../../lang/lua53/version.mk" + +CONFLICTS+= lua-[0-9]* + +.include "../../mk/bsd.prefs.mk" + +USE_LANGUAGES= c99 +USE_LIBTOOL= yes +USE_TOOLS+= gmake +MAKE_ENV+= DLLIB=${BUILDLINK_LDADD.dl:Q} +MAKE_ENV+= INSTALL_DATA=${INSTALL_DATA:Q} +CFLAGS+= -DLUA_ROOT=\"${PREFIX}/\" + +PKGCONFIG_OVERRIDE= ${WRKSRC}/lua.pc +INSTALLATION_DIRS+= lib/pkgconfig share/doc/lua-5.3 + +.if ${OPSYS} == "FreeBSD" +BUILD_TARGET= freebsd +.elif !empty(OPSYS:M*BSD*) || ${OPSYS} == "DragonFly" +BUILD_TARGET= bsd +.elif ${OPSYS} == "Linux" +BUILD_TARGET= linux +.elif ${OPSYS} == "Darwin" +BUILD_TARGET= macosx +.elif ${OPSYS} == "SunOS" +BUILD_TARGET= solaris +.elif ${OPSYS} == "AIX" +BUILD_TARGET= aix +.else +BUILD_TARGET= generic +.endif + +DOCDIR= ${PREFIX}/share/doc/lua-5.3 + +pre-configure: + sed -e 's,@PREFIX@,${PREFIX},g' \ + -e 's,@VER@,${PKGVERSION_NOREV:R},g' \ + -e 's,@REV@,${PKGVERSION_NOREV},g' \ + ${FILESDIR}/lua.pc.in > ${WRKSRC}/lua.pc + cp ${WRKSRC}/doc/lua.1 ${WRKSRC}/doc/lua5.3.1 + cp ${WRKSRC}/doc/luac.1 ${WRKSRC}/doc/luac5.3.1 + +post-install: + ${INSTALL_DATA} ${WRKSRC}/doc/*.[a-z][a-z][a-z] \ + ${WRKSRC}/doc/*.html ${DESTDIR}${DOCDIR} + ${INSTALL_DATA} ${WRKSRC}/lua.pc \ + ${DESTDIR}${PREFIX}/lib/pkgconfig/lua-5.3.pc + +.include "../../mk/readline.buildlink3.mk" +.include "../../mk/dlopen.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/lang/lua53/PLIST b/lang/lua53/PLIST new file mode 100644 index 00000000000..5025963fd6c --- /dev/null +++ b/lang/lua53/PLIST @@ -0,0 +1,21 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ +bin/lua5.3 +bin/luac5.3 +include/lua-5.3/lauxlib.h +include/lua-5.3/lua.h +include/lua-5.3/lua.hpp +include/lua-5.3/luaconf.h +include/lua-5.3/lualib.h +lib/liblua5.3.la +lib/pkgconfig/lua-5.3.pc +man/man1/lua5.3.1 +man/man1/luac5.3.1 +share/doc/lua-5.3/contents.html +share/doc/lua-5.3/logo.gif +share/doc/lua-5.3/lua.css +share/doc/lua-5.3/manual.css +share/doc/lua-5.3/manual.html +share/doc/lua-5.3/osi-certified-72x60.png +share/doc/lua-5.3/readme.html +@pkgdir share/lua/5.3 +@pkgdir lib/lua/5.3 diff --git a/lang/lua53/buildlink3.mk b/lang/lua53/buildlink3.mk new file mode 100644 index 00000000000..392e25937bc --- /dev/null +++ b/lang/lua53/buildlink3.mk @@ -0,0 +1,24 @@ +# $NetBSD: buildlink3.mk,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +BUILDLINK_TREE+= lua53 + +.if !defined(LUA53_BUILDLINK3_MK) +LUA53_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.lua53+= lua53>=5.3.0<5.4 +BUILDLINK_PKGSRCDIR.lua53?= ../../lang/lua53 + +.if defined(BUILDLINK_DEPMETHOD.lua) +BUILDLINK_DEPMETHOD.lua53?= ${BUILDLINK_DEPMETHOD.lua} +.endif + +# -llua -> -llua5.3 +BUILDLINK_TRANSFORM+= l:lua:lua5.3 +BUILDLINK_INCDIRS.lua53+= include/lua-5.3 + +BUILDLINK_FNAME_TRANSFORM.lua53+= -e 's|lib/pkgconfig/lua-5.3.pc|lib/pkgconfig/lua.pc|' + +.include "../../mk/readline.buildlink3.mk" +.endif # LUA53_BUILDLINK3_MK + +BUILDLINK_TREE+= -lua53 diff --git a/lang/lua53/distinfo b/lang/lua53/distinfo new file mode 100644 index 00000000000..4a24b46314d --- /dev/null +++ b/lang/lua53/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +SHA1 (lua-5.3.0.tar.gz) = 1c46d1c78c44039939e820126b86a6ae12dadfba +RMD160 (lua-5.3.0.tar.gz) = 42a8a628e54b2bc2e211310fc8d72c49c8812a11 +Size (lua-5.3.0.tar.gz) = 278045 bytes +SHA1 (patch-Makefile) = 44c9a812569c2a0f0221f197c95a672b059af84a +SHA1 (patch-src_Makefile) = 975b1d4d6907524aad9527ffe18793c6bc93f1b4 +SHA1 (patch-src_luaconf.h) = dc2f535a1d0f407db4f62dab37a2d680ea794264 diff --git a/lang/lua53/files/lua.pc.in b/lang/lua53/files/lua.pc.in new file mode 100644 index 00000000000..9f79914ca72 --- /dev/null +++ b/lang/lua53/files/lua.pc.in @@ -0,0 +1,21 @@ +# $NetBSD: lua.pc.in,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ +# lua.pc is not any longer distributed, but is still required by other packages. + +prefix= @PREFIX@ +INSTALL_BIN= ${prefix}/bin +INSTALL_INC= ${prefix}/include +INSTALL_LIB= ${prefix}/lib +INSTALL_MAN= ${prefix}/man/man1 +INSTALL_LMOD= ${prefix}/share/lua/@VER@ +INSTALL_CMOD= ${prefix}/lib/lua/@VER@ + +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include/lua-5.3 + +Name: Lua +Description: An Extensible Extension Language +Version: @REV@ +Requires: +Libs: -L${libdir} -llua5.3 -lm +Cflags: -I${includedir} diff --git a/lang/lua53/patches/patch-Makefile b/lang/lua53/patches/patch-Makefile new file mode 100644 index 00000000000..42d857ba227 --- /dev/null +++ b/lang/lua53/patches/patch-Makefile @@ -0,0 +1,50 @@ +$NetBSD: patch-Makefile,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +--- Makefile.orig 2014-10-29 23:14:41.000000000 +0000 ++++ Makefile +@@ -10,11 +10,11 @@ PLAT= none + # 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_TOP= ${PREFIX} + INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_INC= $(INSTALL_TOP)/include ++INSTALL_INC= $(INSTALL_TOP)/include/lua-5.3 + INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_MAN= $(INSTALL_TOP)/${PKGMANDIR}/man1 + INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V + INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + +@@ -39,10 +39,10 @@ RM= rm -f + PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris + + # What to install. +-TO_BIN= lua luac ++TO_BIN= lua5.3 luac5.3 + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +-TO_LIB= liblua.a +-TO_MAN= lua.1 luac.1 ++TO_LIB= liblua5.3.la ++TO_MAN= lua5.3.1 luac5.3.1 + + # Lua version and release. + V= 5.3 +@@ -58,11 +58,11 @@ test: dummy + src/lua -v + + install: dummy +- 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 && $(MKDIR) $(DESTDIR)$(INSTALL_BIN) $(DESTDIR)$(INSTALL_INC) $(DESTDIR)$(INSTALL_LIB) $(DESTDIR)$(INSTALL_MAN) $(DESTDIR)$(INSTALL_LMOD) $(DESTDIR)$(INSTALL_CMOD) ++ cd src && $(LIBTOOL) --tag=CC --mode=install $(BSD_INSTALL_PROGRAM) $(TO_BIN) $(DESTDIR)$(INSTALL_BIN) ++ cd src && $(INSTALL_DATA) $(TO_INC) $(DESTDIR)$(INSTALL_INC) ++ cd src && $(LIBTOOL) --tag=CC --mode=install $(BSD_INSTALL_LIB) $(TO_LIB) $(DESTDIR)$(INSTALL_LIB) ++ cd doc && $(INSTALL_DATA) $(TO_MAN) $(DESTDIR)$(INSTALL_MAN) + + uninstall: + cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) diff --git a/lang/lua53/patches/patch-src_Makefile b/lang/lua53/patches/patch-src_Makefile new file mode 100644 index 00000000000..4e04b17cbcc --- /dev/null +++ b/lang/lua53/patches/patch-src_Makefile @@ -0,0 +1,78 @@ +$NetBSD: patch-src_Makefile,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +--- src/Makefile.orig 2015-01-05 16:04:52.000000000 +0000 ++++ src/Makefile +@@ -6,9 +6,8 @@ + # Your platform. See PLATS for possible values. + PLAT= none + +-CC= gcc -std=gnu99 +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) +-LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) ++CFLAGS+= -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) ++LDFLAGS+= $(SYSLDFLAGS) $(MYLDFLAGS) + LIBS= -lm $(SYSLIBS) $(MYLIBS) + + AR= ar rcu +@@ -24,23 +23,28 @@ MYLDFLAGS= + MYLIBS= + MYOBJS= + ++.SUFFIXES: .lo ++.c.lo: ++ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) -c $< ++LV= 5:3 ++ + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + + PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris + +-LUA_A= liblua.a ++LUA_A= liblua5.3.la + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o + LIB_O= lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \ + lmathlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o loadlib.o linit.o +-BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) ++BASE_O= $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) $(MYOBJS:.o=.lo) + +-LUA_T= lua +-LUA_O= lua.o ++LUA_T= lua5.3 ++LUA_O= lua.lo + +-LUAC_T= luac +-LUAC_O= luac.o ++LUAC_T= luac5.3 ++LUAC_O= luac.lo + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) + ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) +@@ -56,14 +60,13 @@ o: $(ALL_O) + a: $(ALL_A) + + $(LUA_A): $(BASE_O) +- $(AR) $@ $(BASE_O) +- $(RANLIB) $@ ++ ${LIBTOOL} --tag=CC --mode=link $(CC) $(LDFLAGS) -o $@ $(BASE_O) -rpath ${PREFIX}/lib -version-info ${LV} ${LIBS} + + $(LUA_T): $(LUA_O) $(LUA_A) +- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++ ${LIBTOOL} --tag=CC --mode=link $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + + $(LUAC_T): $(LUAC_O) $(LUA_A) +- $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) ++ ${LIBTOOL} --tag=CC --mode=link $(CC) -static -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + + clean: + $(RM) $(ALL_T) $(ALL_O) +@@ -92,7 +95,7 @@ aix: + $(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" + + bsd: +- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" ++ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE" SYSLIBS="-Wl,-E -lreadline -lhistory" + + c89: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CC="gcc -std=c89" diff --git a/lang/lua53/patches/patch-src_luaconf.h b/lang/lua53/patches/patch-src_luaconf.h new file mode 100644 index 00000000000..3bbb25da237 --- /dev/null +++ b/lang/lua53/patches/patch-src_luaconf.h @@ -0,0 +1,23 @@ +$NetBSD: patch-src_luaconf.h,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +--- src/luaconf.h.orig 2014-12-29 13:27:55.000000000 +0000 ++++ src/luaconf.h +@@ -175,7 +175,9 @@ + + #else /* }{ */ + ++#ifndef LUA_ROOT + #define LUA_ROOT "/usr/local/" ++#endif + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" + #define LUA_PATH_DEFAULT \ +@@ -251,7 +253,7 @@ + ** default definition. + */ + #if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ +- defined(__ELF__) /* { */ ++ defined(__ELF__) && !defined(__sun) /* { */ + #define LUAI_FUNC __attribute__((visibility("hidden"))) extern + #else /* }{ */ + #define LUAI_FUNC extern diff --git a/lang/lua53/version.mk b/lang/lua53/version.mk new file mode 100644 index 00000000000..98a730ca7c3 --- /dev/null +++ b/lang/lua53/version.mk @@ -0,0 +1,6 @@ +# $NetBSD: version.mk,v 1.1.1.1 2015/01/17 17:50:23 alnsn Exp $ + +LUA_VERSION= 5.3.0 + +LUA_VERSION_MAJOR= ${LUA_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\1/} +LUA_VERSION_MINOR= ${LUA_VERSION:C/([0-9]+)\.([0-9]+)\.([0-9]+)/\2/} |