summaryrefslogtreecommitdiff
path: root/lang/lua53
diff options
context:
space:
mode:
authoralnsn <alnsn@pkgsrc.org>2015-01-17 17:50:23 +0000
committeralnsn <alnsn@pkgsrc.org>2015-01-17 17:50:23 +0000
commita8e35818f2da7ddcc9e73116ee8ca1b8edad9aa5 (patch)
treefff4c2c94cceae56a627ba40616c4c8e12b4a650 /lang/lua53
parent1e73e72c842ed198c2444783e6dc42d2fac25d91 (diff)
downloadpkgsrc-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/ALTERNATIVES2
-rw-r--r--lang/lua53/DESCR21
-rw-r--r--lang/lua53/Makefile64
-rw-r--r--lang/lua53/PLIST21
-rw-r--r--lang/lua53/buildlink3.mk24
-rw-r--r--lang/lua53/distinfo8
-rw-r--r--lang/lua53/files/lua.pc.in21
-rw-r--r--lang/lua53/patches/patch-Makefile50
-rw-r--r--lang/lua53/patches/patch-src_Makefile78
-rw-r--r--lang/lua53/patches/patch-src_luaconf.h23
-rw-r--r--lang/lua53/version.mk6
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/}