development/lua: Updated for version 5.1.4

This commit is contained in:
Menno E. Duursma 2010-05-12 17:38:37 +02:00 committed by David Somero
parent c42391c0b5
commit 9ff736a1e9
4 changed files with 34 additions and 90 deletions

View file

@ -1,3 +1,6 @@
Lua is a free software light-weight programming language designed
for extending applications. Lua is also frequently used as a
general-purpose, stand-alone scripting language.
Note: The download link in the info file is for a patched copy of the
lua source; it has been patched to allow the use of autotools.

View file

@ -1,71 +0,0 @@
diff -Nur lua-5.1.4.orig/Makefile lua-5.1.4/Makefile
--- lua-5.1.4.orig/Makefile 2008-08-11 19:40:48.000000000 -0500
+++ lua-5.1.4/Makefile 2008-10-28 11:05:20.258085554 -0500
@@ -43,7 +43,7 @@
# What to install.
TO_BIN= lua luac
TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so.$R
TO_MAN= lua.1 luac.1
# Lua version and release.
diff -Nur lua-5.1.4.orig/src/Makefile lua-5.1.4/src/Makefile
--- lua-5.1.4.orig/src/Makefile 2008-01-19 13:37:58.000000000 -0600
+++ lua-5.1.4/src/Makefile 2008-10-28 11:08:46.895111523 -0500
@@ -18,11 +18,17 @@
MYLDFLAGS=
MYLIBS=
+# Shared object info
+MAJOR= 5
+MINOR= 1
+REL= 4
+
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
LUA_A= liblua.a
+LUA_S= liblua.so
CORE_O= lapi.o lcode.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
@@ -36,8 +42,9 @@
LUAC_O= luac.o print.o
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_S) $(LUA_T) $(LUAC_T)
ALL_A= $(LUA_A)
+ALL_S= $(LUA_S)
default: $(PLAT)
@@ -47,10 +54,17 @@
a: $(ALL_A)
+s: $(ALL_S)
+
$(LUA_A): $(CORE_O) $(LIB_O)
$(AR) $@ $?
$(RANLIB) $@
+$(LUA_S): $(CORE_O) $(LIB_O)
+ gcc -shared -fPIC -Wl,-soname -Wl,$(LUA_S).$(MAJOR) \
+ -o $(LUA_S).$(MAJOR).$(MINOR).$(REL) $^ $(LIBS)
+ ln -s $(LUA_S).$(MAJOR).$(MINOR).$(REL) $(LUA_S)
+
$(LUA_T): $(LUA_O) $(LUA_A)
$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
@@ -58,7 +72,7 @@
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
clean:
- $(RM) $(ALL_T) $(ALL_O)
+ $(RM) $(ALL_T) $(ALL_O) $(LUA_S) $(LUA_S).$(MAJOR).$(MINOR).$(REL)
depend:
@$(CC) $(CFLAGS) -MM l*.c print.c

View file

@ -18,44 +18,56 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP || exit 1
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1
# Note: You must use the patched source at
# http://slackbuilds.org/sources/12.2/lua-5.1.4_autotools.tar.bz2
# or this build will fail.
tar xvf $CWD/$PRGNAM-${VERSION}_autotools.tar.bz2|| exit 1
cd $PRGNAM-$VERSION || exit 1
chown -R root:root .
chmod -R a-s,u+rw,go-w+r .
chmod u+x autogen.sh config.guess \
config.sub configure depcomp \
install-sh missing
# Apply patch to make it compile the lib into a shared object
cat $CWD/$PRGNAM-$VERSION-shared.diff | patch -p1 || exit 1
CFLAGS="$SLKCFLAGS" \
./configure \
--with-readline \
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX || exit 1
# Let's use our custom CFLAGS from above
sed -i "s/-DLUA_USE_LINUX/\"-DLUA_USE_LINUX $SLKCFLAGS\"/g" src/Makefile || exit 1
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make linux
make install INSTALL_TOP=$PKG/usr || exit 1
# Install the pkg-config file so other apps can find LUA
# Also, fix the prefix path in lua.pc
mkdir -p $PKG/usr/lib/pkgconfig
sed 's|prefix= /usr/local|prefix= /usr|' etc/lua.pc > \
$PKG/usr/lib/pkgconfig/lua.pc
make
make install DESTDIR=/$PKG
# Let's make sure all of the library symlinks correctly exist
( cd $PKG/usr/lib
( cd $PKG/usr/lib$LIBDIRSUFFIX
ln -sf liblua.so.${VERSION} liblua.so.5
ln -sf liblua.so.${VERSION} liblua.so
chmod 0755 liblua.so.${VERSION}
)
( cd $PKG
find . -type f | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . -type f | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . -type f | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null
find . -type f | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null
strip -g usr/lib/*.a
)

View file

@ -1,8 +1,8 @@
PRGNAM="lua"
VERSION="5.1.4"
HOMEPAGE="http://www.lua.org"
DOWNLOAD="http://www.lua.org/ftp/lua-5.1.4.tar.gz"
MD5SUM="d0870f2de55d59c1c8419f36e8fac150"
DOWNLOAD="http://slackbuilds.org/sources/12.2/lua-5.1.4_autotools.tar.bz2"
MD5SUM="c20786a6933dba9e952463e227000e8d"
MAINTAINER="Menno E. Duursma"
EMAIL="druiloor@zonnet.nl"
APPROVED="rworkman"
APPROVED="dsomero,michiel"