the Fink project is an effort to port
popular Unix programs to Mac OS X
#
# lua51.info
#
# Fink package file, maintained by Asko Kauppi
#
# Home:
# svn://slugak.dyndns.org/public/lua-fink/
#
# Packages:
# lua51 The binary Lua 5.1.x interpreter, can co-exist with other Lua versions (*
# lua51-dev Lua development headers; conflicts with any other development versions
# lua51-shlibs Lua 5.1 shared libraries, can co-exist
#
# *) replaces older 5.0 'lua' package, but co-exists with possible future packages, using
# 'update-alternatives' for the common 'lua' command (otherwise, no conflicts).
#
# Todo:
# - add 'lua51-xxx-64bit' packages, using 64-bit integers (integer patch) and doubles.
# See D.Morrison's email on 20.7.2006 20:37 for info.
#
# Notes:
# - The "-ev" parameter to scripts is giving quite a lot of (unnecessary?) build output.
# Fink policy seems to be to have it (is this stated somewhere?); personally I would be
# okay with just "-e".
#
# History:
# AKa 9.9.2006: 5.1.1-11 Man pages as "slave alternatives", requested by bcully.
# AKa 24.8.2006: 5.1.1-10 Adding /usr/local/share/lua/5.1/ and /usr/local/lib/5.1/ into
# module paths (user compiled modules).
# AKa 24.8.2006: 5.1.1-9 Adding '%i/lib/pkgconfig/lua.pc'
# Adding '%i/include/lua.hpp'
# Adding also 'luac' to use "update-alternatives"
# AKa 20.8.2006: 5.1.1-8 Using 'SourceRename:' to allow test use of Lua alphas/betas to come.
# AKa 16.8.2006: 5.1.1-7 Added use of "update-alternatives", to get the 'lua' command point to
# the most recent Lua instance there is.
# AKa 3.8.2006: 5.1.1-6 Removed "lua51-sdl" module, found a way to initialize SDL from within Lua module.
# AKa 29.7.2006: 5.1.1-5 Removed "MACOSX_DEPLOYMENT_TARGET" settings (fink does them)
# AKa 19.7.2006: Removed "lua" package, removed "-bin" from "lua51-bin" and "lua51-sdl-bin"
# AKa 10.7.2006: Applying 'lundump' patch, to allow loading of precompiled scripts regardless of
# endianness (Intel/PowerPC) issues. (should be a standard feature in future Lua versions,
# hopefully...)
# AKa 3.7.2006: Trying to support OS X 10.3, too (without readline support); NOT TESTED YET
# Added #!/bin/sh -ex to make the scripts run as scripts.
# AKa 11.6.2006: Using 5.1.1 now
# AKa 2.6.2006: Preliminary tested on Intel mac (thanks, Janne!); upgraded to use 5.1.1-rc2
# AKa 24.5.2006: Changed 'lua-dev' -> 'lua51-dev'; Added Jean-Louis as other maintainer
# AKa 10.5.2006: Added 'lua51-sdl-bin' package
# AKa 9.5.2006: Updated to include "-shlibs" and match Fink guidelines
# http://fink.sourceforge.net/doc/packaging/policy.php as best I can.
# AKa 30.4.2006: Fighting with dynamic library support... :/
# AKa 23.4.2006: Updated to Lua 5.1 official
#
# --- lua51 (main package, Lua 5.1 'lua51' interpreter) ---
#
# Pure script packages can depend on 'lua51' package, making sure they have the version
# of Lua available that they were tested with.
#
# Note: This package is NOT dependent on 'lua51-shlibs', the Lua code is baked-in into the interpreter itself
# (can be done both ways, this seems to be currently preferred in 5.1 and is simpler)
#
# Note: Do NOT use %v (version) automatically in place of each "5.1.1" and such there is; Lua 5.2 will have
# %v=5.2, but 5.2.0 is needed as the "long version".
#
# Note: Some script packages may sport their own command line shell scripts, launching Lua 5.1
# in turn. Such references should be made to the 'lua51' binary, _not_ 'lua' which might
# refer to other (more recent) Lua versions. Packages simply installing scripts under
# '%i/share/lua/5.1' do not need to bother, of course. :)
#
Package: lua51
Version: 5.1.1
Revision: 3
Conflicts: lua (<< 5.1)
Replaces: lua (<< 5.1), lua51-sdl (<< 5.1.1-6)
# vital for trying out Lua alpha/beta packages
SourceRename: lua-%v.tar.gz
Source: http://www.lua.org/ftp/lua-%v.tar.gz
Source-MD5: 22f4f912f20802c11006fe9b84d5c461
# ---
# 'lundump.patch' is directly from Lua mailing list, and is _not_ in the suggested Fink patch format
# (neither do I care to transform it... :)
#
# It adds a conveniency, Intel/PowerPC transparency feature for precompiled scripts. This is NOT
# required to have Lua 5.1 in working condition, but can be considered a nice extra. To switch it
# off, just comment out the "PatchScript" line.
#
# When applying patch:
# pwd: /sw/src/fink.build/lua51-5.1.1-3/lua-5.1.1
# %a: /sw/fink/dists/local/main/finkinfo/
#
# 12nov2006 lrosengreen: patch removed, after discussion with maintainer
# PatchScript: cd src && patch < %a/lundump.patch
# ---
Description: Small and fast embeddable scripting language
License: OSI-Approved
Homepage: http://www.lua.org
Maintainer: Asko Kauppi
DescDetail: <<
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.
<<
#---
# NOTE: "!/bin/sh -e" is needed for making 'if-then-else-fi' work.
#
# Comments are here to avoid unnecessary output when executing the script (-ev).
#
# 1. Change LUA_ROOT definition: "/usr/local/" -> "%p/"
# 2. Allow use of either .so or .bundle as the binary module postfix (Lua 5.1 only has .so)
# 3. >= 10.4: has built-in readline that we can (and should!) use
# < 10.4: no proper command line edit and history (but no dependencies, either)
#
# NOTE: Stock Lua compilation does not create dynamic libraries; we do it here.
# For some reason, cannot be done from 'liblua.a' directly, that will
# lose all the symbols. :( (at least was so on 10.4-transitional)
#
# NOTE: Install name is BY PURPOSE "liblua.5.1.dylib" (N = 5.1) since Lua has 5.1 and
# (potential) 5.2 binary incompatible (other than most OSS projects, where
# 5 and 6 would be). Use "current_version 5.2.0 -o liblua.5.2.0.dylib" for 5.2
#
# NOTE: Lua 5.1.1 sources themselves allow .lua files to be searched also in the
# "/lib" (LUA_CDIR) paths. This should _not_ be so by Unix convention; we are
# taking a stricter side here (script files into 'share', binaries into 'lib').
#
CompileScript: <<
#!/bin/sh -ev
cd src
cp luaconf.h luaconf.old
cat luaconf.old | sed "s+/usr/local+%p+" > luaconf.h
echo "#undef LUA_PATH_DEFAULT" >> luaconf.h
echo '#define LUA_PATH_DEFAULT "./?.lua;" \
LUA_LDIR "?.lua;" LUA_LDIR "?/init.lua;" \
"/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua"' \
>> luaconf.h
echo "#undef LUA_CPATH_DEFAULT" >> luaconf.h
echo '#define LUA_CPATH_DEFAULT "./?.bundle;./?.so;" \
LUA_CDIR "?.bundle;" LUA_CDIR "?.so;" LUA_CDIR "loadall.bundle;" LUA_CDIR "loadall.so;" \
"/usr/local/lib/lua/5.1/?.bundle;/usr/local/lib/lua/5.1/?.so;" \
"/usr/local/lib/lua/5.1/loadall.bundle;/usr/local/lib/lua/5.1/loadall.so;"' \
>> luaconf.h
if [ `uname -r` \< "8.7.0" ]; then
make all MYCFLAGS="-fno-common -DLUA_USE_MACOSX"
else
make all MYCFLAGS="-fno-common -DLUA_USE_MACOSX -DLUA_USE_READLINE" MYLIBS="-lreadline"
fi
rm -f lua.o luac.o
cc -dynamiclib -install_name %p/lib/liblua.5.1.dylib \
-compatibility_version 5.1 -current_version 5.1.1 \
-o liblua.5.1.1.dylib *.o
<<
InstallScript: <<
#!/bin/sh -ev
make INSTALL_TOP=%i \
INSTALL_MAN=%i/share/man/man1 \
INSTALL_EXEC="install -s -m 0755" \
INSTALL_DATA="install -m 0644" \
install
mv %i/bin/lua %i/bin/lua51
mv %i/bin/luac %i/bin/luac51
mv %i/share/man/man1/lua.1 %i/share/man/man1/lua51.1
mv %i/share/man/man1/luac.1 %i/share/man/man1/luac51.1
mkdir -p %i/share/lua
mkdir -p %i/share/lua/5.1
mkdir -p %i/lib/lua/5.1
cp etc/strict.lua %i/share/lua/5.1
rm -rf %i/include
rm -rf %i/lib
<<
DocFiles: <<
doc/contents.html doc/logo.gif doc/lua.css doc/lua.html doc/luac.html
doc/manual.html doc/readme.html COPYRIGHT HISTORY INSTALL README
<<
DescPackaging: <<
Lua offers four header files for the creation of C/Lua bindings:
lua.h, lualib.h, luaconf.h, and lauxlib.h
These are in the lua51-dev package, which has "conflicts: lua (<< 5.1)"
declared in it. User can have several Lua versions installed, but will
only be able to develop (C bindings) for one of them.
<<
#---
# Use of 'update-alternatives' allows _any_ Lua version to order the 'lua'
# and 'luac' commands to point to their installed binary. The one with
# strongest priority (version) wins.
#
# Note: The old 'lua' << 5.1 package does _not_ use 'update-alternatives',
# for which reason (and only this) lua51 needs to conflict with it.
#
# Note: 'man update-alternatives' for info on usage.
# No need for '#!/bin/sh -ev' prefix for if/then to work.
#
PostInstScript: <<
update-alternatives --install %p/bin/lua lua %p/bin/lua51 51 \
--slave %p/share/man/man1/lua.1 lua.1 %p/share/man/man1/lua51.1
update-alternatives --install %p/bin/luac luac %p/bin/luac51 51 \
--slave %p/share/man/man1/luac.1 luac.1 %p/share/man/man1/luac51.1
<<
PreRmScript: <<
if [ $1 != "upgrade" ]; then
update-alternatives --remove lua %p/bin/lua51
update-alternatives --remove luac %p/bin/luac51
fi
<<
# --- lua51-shlibs (versioned shared libraries, no headers) ---
#
# See "3.4 Shared libraries" at http://fink.sourceforge.net/doc/packaging/policy.php
#
# This package only installs the _versioned_ shared libraries, thus allowing co-existence
# with other Lua shared library versions (s.a. 5.0, potential 5.2)
#
SplitOff: <<
Package: lua51-shlibs
Depends:
#---
# 1. install -s strips the binaries of debug info
# 2. Dynamic library numbering as in http://fink.sourceforge.net/doc/porting/shared.php
#
InstallScript: <<
#!/bin/sh -ev
make INSTALL_TOP=%i \
INSTALL_EXEC="install -s -m 0755" \
INSTALL_DATA="install -m 0644" \
install
rm -rf %i/bin %i/man %i/include
rm %i/lib/*.a
cp src/liblua.5.1.1.dylib %i/lib/liblua.5.1.1.dylib
ln -s %p/lib/liblua.5.1.1.dylib %i/lib/liblua.5.1.dylib
<<
DocFiles: COPYRIGHT HISTORY INSTALL README
# library with -install_name '%p/lib/liblua.5.1.dylib' and -compatibility_version 5.1.0 has been installed
# since version 5.1.1-1 of the lua51 package. (http://fink.sourceforge.net/doc/packaging/policy.php)
#
Shlibs: <<
%p/lib/liblua.5.1.dylib 5.1.0 lua51-shlibs (>= 5.1.1-1)
<<
Description: Shared libraries for linking Lua 5.1 engine into an application
<<
# --- lua51-dev (development headers, static library, unversioned dynamic library link) ---
#
# Only one of these packages can exist on the system at any time, defining which Lua
# version is 'seen' by C programs compiling for it.
#
# NOTE! With upcoming versions, do remember to add all earlier packages in the conflicts:
# Conflicts: lua (<< 5.1), lua51-dev
# Replaces: lua (<< 5.1), lua51-dev
#
SplitOff2: <<
Package: lua51-dev
Depends: lua51-shlibs (= %v-%r)
Conflicts: lua (<< 5.1)
Replaces: lua (<< 5.1)
BuildDependsOnly: True
#---
# 1. install -s strips the binaries of debug info
# 2. leave %i/include/ and %i/lib/ (static library)
# 3. add %i/include/lua.hpp
# 4. add %i/lib/pkgconfig/lua.pc
#
InstallScript: <<
#!/bin/sh -ev
make INSTALL_TOP=%i \
INSTALL_EXEC="install -s -m 0755" \
INSTALL_DATA="install -m 0644" \
install
rm -rf %i/bin
rm -rf %i/man
ln -s %p/lib/liblua.5.1.1.dylib %i/lib/liblua.dylib
cp etc/lua.hpp %i/include/lua.hpp
mkdir -p %i/lib
mkdir -p %i/lib/pkgconfig
cat etc/lua.pc | sed "s+/usr/local+%p+" > %i/lib/pkgconfig/lua.pc
<<
DocFiles: COPYRIGHT HISTORY INSTALL README
Description: Files needed to make Lua/C bindings
DescDetail: <<
For details about Lua/C API:
http://www.lua.org/manual/5.1/manual.html#3
<<
<<
#
# lua51.info
#
# Fink package file, maintained by Asko Kauppi
# Jean-Louis Fuchs
#
# Packages:
# lua51 The binary Lua 5.1.x interpreter, can co-exist with other Lua versions (*
# lua51-dev Lua development headers; conflicts with any other development versions
# lua51-shlibs Lua 5.1 shared libraries, can co-exist
#
# *) replaces older 5.0 'lua' package, but co-exists with possible future packages, using
# 'update-alternatives' for the common 'lua' command (otherwise, no conflicts).
#
# Todo:
# - none
#
# Bugs:
# - none known
#
# Notes:
# - The "-ev" parameter to scripts is giving quite a lot of (unnecessary?) build output.
# Fink policy seems to be to have it (is this stated somewhere?); personally I would be
# okay with just "-e".
#
# Update-alternatives:
# 510 our level
# 514 LuaRocks (automatically adds '-lluarocks.require')
#
# History:
# AKa 13-Jun-2008: 5.1.3-6 Conflict with 'lua' and 'lua-shlibs' restrained to
# << 1:5.0.3-0 versions only (late ones are okay)
# Replaces 'lua' taken away, since we replace it only
# conceptually.
# AKa 13-May-2008: 5.1.3-5 Changed update-alternatives level to 510, to allow
# LuaRocks override it
# AKa 23-Mar-2008: Added 'Recommends:' for 'tolua' and 'luarocks'
# AKa 29-Feb-2008: 5.1.3-3 '-DLUA_USE_MACOSX' for OS X 10.3 (it did not have
# 'dlopen()' support built in)
# AKa 24-Feb-2008: 5.1.3-2 '-dev' recommends 'pkgconfig' to allow getting Lua
# flags via 'pkg-config --cflags --libs lua'
# AKa 22-Feb-2008: 5.1.3-1 The 10.3 test did not work since >= 10.4.10.
# Replaced with a better test, _still_ 10.3 compatible.
# AKa 5-Feb-2008: 5.1.3-0 "Lua 5.1.3 fixes all known bugs in Lua 5.1.2."
#
# AKa 10-Apr-2007: Changed 'cc' -> 'gcc' (cc was somehow lost on my system!)
# AKa 9-Apr-2007: 5.1.2-4 Conflicts: lua51-bin Replaces: lua51-bin, lua51-sdl-bin
# (old package names, in case people are upgrading)
# AKa 4-Apr-2007: 5.1.2-3 Using 5.1.2 proper
# Compiling using dlopen() (LUA_USE_DLOPEN, LUA_USE_POSIX)
# and not NSLoadModule() (LUA_USE_MACOSX), due to multithreading
# problems (NSLINKMODULE_OPTION_PRIVATE) using modules.
# AKa 28-Mar-2007: 5.1.2-2 Removing the token filter patch, by lhf's request.
# AKa 23-Mar-2007: 5.1.2-1 Using 5.1.2-rc1 just announced
#
# AKa 21-Mar-2007: 5.1.1-14 Changing 'lua51' interpreter to link into shared
# library (was statically linked). This must solve issues of
# unallocated free -messages with multithreading and multiple
# Lua states.
# AKa 12.11.2006: 5.1.1-13 Applying LHF's token filter patch (as Source2).
# "ranlib %i/lib/liblua.a" added back
# removed the patch (Lua in fink stable is without it)
# AKa 4.10.2006: 5.1.1-12 liblua.a (static library) troubles solved, required no changes in
# the .info (= -11 is still bugless, KNOCK-KNOCK)
# AKa 9.9.2006: 5.1.1-11 Man pages as "slave alternatives", requested by bcully.
# AKa 24.8.2006: 5.1.1-10 Adding /usr/local/share/lua/5.1/ and /usr/local/lib/5.1/ into
# module paths (user compiled modules).
# AKa 24.8.2006: 5.1.1-9 Adding '%i/lib/pkgconfig/lua.pc'
# Adding '%i/include/lua.hpp'
# Adding also 'luac' to use "update-alternatives"
# AKa 20.8.2006: 5.1.1-8 Using 'SourceRename:' to allow test use of Lua alphas/betas to come.
# AKa 16.8.2006: 5.1.1-7 Added use of "update-alternatives", to get the 'lua' command point to
# the most recent Lua instance there is.
# AKa 3.8.2006: 5.1.1-6 Removed "lua51-sdl" module, found a way to initialize SDL from within Lua module.
# AKa 29.7.2006: 5.1.1-5 Removed "MACOSX_DEPLOYMENT_TARGET" settings (fink does them)
# AKa 19.7.2006: Removed "lua" package, removed "-bin" from "lua51-bin" and "lua51-sdl-bin"
# AKa 10.7.2006: Applying 'lundump' patch, to allow loading of precompiled scripts regardless of
# endianness (Intel/PowerPC) issues. (should be a standard feature in future Lua versions,
# hopefully...)
# AKa 3.7.2006: Trying to support OS X 10.3, too (without readline support); NOT TESTED YET
# Added #!/bin/sh -ex to make the scripts run as scripts.
# AKa 11.6.2006: Using 5.1.1 now
# AKa 2.6.2006: Preliminary tested on Intel mac (thanks, Janne!); upgraded to use 5.1.1-rc2
# AKa 24.5.2006: Changed 'lua-dev' -> 'lua51-dev'; Added Jean-Louis as other maintainer
# AKa 10.5.2006: Added 'lua51-sdl-bin' package
# AKa 9.5.2006: Updated to include "-shlibs" and match Fink guidelines
# http://fink.sourceforge.net/doc/packaging/policy.php as best I can.
# AKa 30.4.2006: Fighting with dynamic library support... :/
# AKa 23.4.2006: Updated to Lua 5.1 official
#
# --- lua51 (main package, Lua 5.1 'lua51' interpreter) ---
#
# Pure script packages can depend on 'lua51' package, making sure they have the
# version of Lua available that they were tested with.
#
# Note: Do NOT use %v (version) automatically in place of each "5.1.2" and such
# there is; Lua 5.2 will have %v=5.2, but 5.2.0 is needed as the "long
# version".
#
# Note: Some script packages may sport their own command line shell scripts,
# launching Lua 5.1 in turn. Such references should be made to the 'lua51'
# binary, _not_ 'lua' which might refer to other (more recent) versions.
# Packages simply installing scripts under '%i/share/lua/5.1' do not need
# to bother, of course. :)
#
# Note: Packages 'lua' and 'lua-shlibs' up to 5.0.2-x are not co-operative with
# us. >= 1:5.0.3-0 are.
#
Package: lua51
Version: 5.1.3
Revision: 6
Depends: lua51-shlibs
Conflicts: lua (<< 1:5.0.3-0), lua51-bin
Replaces: lua51-sdl (<< 5.1.1-6), lua51-bin, lua51-sdl-bin
Recommends: luarocks
# vital for trying out Lua alpha/beta packages
SourceRename: lua-%v.tar.gz
# 5.1.3
Source: http://www.lua.org/ftp/lua-%v.tar.gz
Source-MD5: a70a8dfaa150e047866dc01a46272599
# 5.1.2
#Source: http://www.lua.org/ftp/lua-%v.tar.gz
#Source-MD5: 687ce4c2a1ddff18f1008490fdc4e5e0
# ---
Description: Small and fast embeddable scripting language
License: OSI-Approved
Homepage: http://www.lua.org
Maintainer: Asko Kauppi
DescDetail: <<
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.
<<
#---
# NOTE: "!/bin/sh -e" is needed for making 'if-then-else-fi' work.
#
# Comments are here to avoid unnecessary output when executing the script (-ev).
#
# 1. Change LUA_ROOT definition: "/usr/local/" -> "%p/"
# 2. Allow use of either .so or .bundle as the binary module postfix (Lua 5.1
# only has .so)
# 3. >= 10.4: has built-in readline that we can (and should!) use
# < 10.4: no proper command line edit and history (but no dependencies,
# either)
#
# NOTE: Stock Lua compilation does not create dynamic libraries; we do it here.
# For some reason, cannot be done from 'liblua.a' directly, that will
# lose all the symbols. :( (at least was so on 10.4-transitional)
#
# NOTE: Install name is BY PURPOSE "liblua.5.1.dylib" (N = 5.1) since Lua has
# 5.1 and (potential) 5.2 binary incompatible (other than most OSS
# projects, where 5 and 6 would be).
# Use "current_version 5.2.0 -o liblua.5.2.0.dylib" for 5.2
#
# NOTE: Lua 5.1.1 sources themselves allow .lua files to be searched also in the
# "/lib" (LUA_CDIR) paths. This should _not_ be so by Unix convention; we
# are taking a stricter side here (script files into 'share', binaries
# into 'lib').
#
# NOTE: We make 'lua' separately after the default compilation, linking it to
# the dylib just created. This is needed for proper behaviour with
# multithreading & multiple Lua states (5.1.1-14).
#
CompileScript: <<
#!/bin/sh -ev
cd src
cp luaconf.h luaconf.old
cat luaconf.old | sed "s+/usr/local+%p+" > luaconf.h
echo "#undef LUA_PATH_DEFAULT" >> luaconf.h
echo '#define LUA_PATH_DEFAULT "./?.lua;" \
LUA_LDIR "?.lua;" LUA_LDIR "?/init.lua;" \
"/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua"' \
>> luaconf.h
echo "#undef LUA_CPATH_DEFAULT" >> luaconf.h
echo '#define LUA_CPATH_DEFAULT "./?.bundle;./?.so;" \
LUA_CDIR "?.bundle;" LUA_CDIR "?.so;" LUA_CDIR "loadall.bundle;" LUA_CDIR "loadall.so;" \
"/usr/local/lib/lua/5.1/?.bundle;/usr/local/lib/lua/5.1/?.so;" \
"/usr/local/lib/lua/5.1/loadall.bundle;/usr/local/lib/lua/5.1/loadall.so;"' \
>> luaconf.h
if [ `/usr/bin/sw_vers -productVersion | cut -d'.' -f1-2` == 10.3 ]; then
make all MYCFLAGS="-fno-common -DLUA_USE_MACOSX"
else
make all MYCFLAGS="-fno-common -DLUA_USE_LINUX" MYLIBS=-lreadline
fi
rm -f lua.o luac.o
gcc -dynamiclib -install_name %p/lib/liblua.5.1.dylib \
-compatibility_version 5.1 -current_version 5.1.3 \
-o liblua.5.1.3.dylib *.o
if [ `/usr/bin/sw_vers -productVersion | cut -d'.' -f1-2` == 10.3 ]; then
gcc -fno-common -DLUA_USE_MACOSX -L. -llua.5.1.3 lua.c -o lua
else
gcc -fno-common -DLUA_USE_LINUX -lreadline -L. -llua.5.1.3 lua.c -o lua
fi
<<
InstallScript: <<
#!/bin/sh -ev
make INSTALL_TOP=%i \
INSTALL_MAN=%i/share/man/man1 \
INSTALL_EXEC="install -s -m 0755" \
INSTALL_DATA="install -m 0644" \
install
mv %i/bin/lua %i/bin/lua51
mv %i/bin/luac %i/bin/luac51
mv %i/share/man/man1/lua.1 %i/share/man/man1/lua51.1
mv %i/share/man/man1/luac.1 %i/share/man/man1/luac51.1
mkdir -p %i/share/lua
mkdir -p %i/share/lua/5.1
mkdir -p %i/lib/lua/5.1
cp etc/strict.lua %i/share/lua/5.1
rm -rf %i/include
rm -rf %i/lib
<<
DocFiles: <<
doc/contents.html doc/logo.gif doc/lua.css doc/lua.html doc/luac.html
doc/manual.html doc/readme.html COPYRIGHT HISTORY INSTALL README
<<
DescPackaging: <<
Lua offers four header files for the creation of C/Lua bindings:
lua.h, lualib.h, luaconf.h, and lauxlib.h
These are in the lua51-dev package, which has "conflicts: lua (<< 1:5.0.3-0), lua-dev"
declared in it. User can have several Lua versions installed, but will
only be able to develop C bindings with one of them (at a time).
<<
#---
# Use of 'update-alternatives' allows _any_ Lua version to order the 'lua'
# and 'luac' commands to point to their installed binary. The one with
# strongest priority (version) wins.
#
# Note: 'man update-alternatives' for info on usage.
# No need for '#!/bin/sh -ev' prefix for if/then to work.
#
PostInstScript: <<
update-alternatives --install %p/bin/lua lua %p/bin/lua51 510 \
--slave %p/share/man/man1/lua.1 lua.1 %p/share/man/man1/lua51.1
update-alternatives --install %p/bin/luac luac %p/bin/luac51 510 \
--slave %p/share/man/man1/luac.1 luac.1 %p/share/man/man1/luac51.1
<<
PreRmScript: <<
if [ $1 != "upgrade" ]; then
update-alternatives --remove lua %p/bin/lua51
update-alternatives --remove luac %p/bin/luac51
fi
<<
# --- lua51-shlibs (versioned shared libraries, no headers) ---
#
# See "3.4 Shared libraries" at http://fink.sourceforge.net/doc/packaging/policy.php
#
# This package only installs the _versioned_ shared libraries, thus allowing
# co-existence with other Lua shared library versions (s.a. 5.0, potential 5.2)
#
SplitOff: <<
Package: lua51-shlibs
Depends:
#---
# 1. install -s strips the binaries of debug info
# 2. Dynamic library numbering as in http://fink.sourceforge.net/doc/porting/shared.php
#
InstallScript: <<
#!/bin/sh -ev
make INSTALL_TOP=%i \
INSTALL_EXEC="install -s -m 0755" \
INSTALL_DATA="install -m 0644" \
install
rm -rf %i/bin %i/man %i/include
rm %i/lib/*.a
cp src/liblua.5.1.3.dylib %i/lib/liblua.5.1.3.dylib
ln -s %p/lib/liblua.5.1.3.dylib %i/lib/liblua.5.1.dylib
<<
DocFiles: COPYRIGHT HISTORY INSTALL README
# library with -install_name '%p/lib/liblua.5.1.dylib' and -compatibility_version
# 5.1.0 has been installed since version 5.1.1-0 of the lua51-shlibs package.
# (http://fink.sourceforge.net/doc/packaging/policy.php)
#
# DO _NOT_ UPDATE THESE VERSION NUMBERS - in 5.1.x version changes!
#
Shlibs: <<
%p/lib/liblua.5.1.dylib 5.1.0 lua51-shlibs (>= 5.1.1-0)
<<
Description: Shared libraries for linking Lua 5.1 into an application
<<
# --- lua51-dev (development headers, static library, unversioned dynamic library link) ---
#
# Only one of these packages can exist on the system at any time, defining which
# Lua version is 'seen' by C programs compiling for it.
#
# NOTE! With upcoming versions (>=5.2), do remember to add all earlier packages
# in 'Conflicts:'.
#
SplitOff2: <<
Package: lua51-dev
Depends: lua51-shlibs (= %v-%r)
Conflicts: lua (<< 1:5.0.3-0), lua-dev
Replaces:
BuildDependsOnly: True
Recommends: pkgconfig, tolua
#---
# 1. install -s strips the binaries of debug info
# 2. leave %i/include/ and %i/lib/ (static library)
# 3. add %i/include/lua.hpp
# 4. add %i/lib/pkgconfig/lua.pc
#
InstallScript: <<
#!/bin/sh -ev
make INSTALL_TOP=%i \
INSTALL_EXEC="install -s -m 0755" \
INSTALL_DATA="install -m 0644" \
install
rm -rf %i/bin
rm -rf %i/man
ln -s %p/lib/liblua.5.1.3.dylib %i/lib/liblua.dylib
cp etc/lua.hpp %i/include/lua.hpp
mkdir -p %i/lib
mkdir -p %i/lib/pkgconfig
cat etc/lua.pc | sed "s+/usr/local+%p+" > %i/lib/pkgconfig/lua.pc
ranlib %i/lib/liblua.a
<<
DocFiles: COPYRIGHT HISTORY INSTALL README
Description: Files needed to compile source against Lua C API
DescDetail: <<
For details about Lua/C API:
http://www.lua.org/manual/5.1/manual.html#3
<<
<<