# # lua51.info # # Fink package file, maintained by Asko Kauppi and # 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: # KMS 02-Aug-2013: 5.1.5-1 Upstream new version (bugfix) # AKa 19-Oct-2008: 5.1.4-1 Disabled 'lua' and 'lua-shlibs' as splitfoffs (for now) # Added conflict to 'lua' and 'lua-shlibs' in -dev and -shlibs # AKa 22-Aug-2008: 5.1.4-0 Upstream new version (bugfix) # Carrying 'lua' and 'lua-shlibs' as splitoffs (lua.info declared dead). # 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. :) # Package: lua51 Version: 5.1.5 Revision: 4 Depends: %n-shlibs (>= %v-%r) Conflicts: lua (<< 1:5.0.4-0), lua51-bin Replaces: lua, 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.5 Source: https://www.lua.org/ftp/lua-%v.tar.gz Source-Checksum: SHA256(2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333) # 5.1.4 #Source: http://www.lua.org/ftp/lua-%v.tar.gz #Source-MD5: d0870f2de55d59c1c8419f36e8fac150 # 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: https://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 %v \ -o liblua.%v.dylib *.o if [ `/usr/bin/sw_vers -productVersion | cut -d'.' -f1-2` == 10.3 ]; then gcc -fno-common -DLUA_USE_MACOSX liblua.%v.dylib lua.c -o lua else gcc -fno-common -DLUA_USE_LINUX -lreadline liblua.%v.dylib 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 will conflict with lua52-dev, once such is out (actually, the other way). 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 #--- # 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.5.dylib %i/lib/liblua.5.1.5.dylib ln -s %p/lib/liblua.5.1.5.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 %n (>= 5.1.1-0) << Description: Shared libraries for linking Lua 5.1 << # --- 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: %N-dev Depends: %N-shlibs (= %v-%r) Conflicts: << lua (<< 1:5.0.4-0), lua50-dev, lua51-dev, lua52-dev, lua53-dev, lua54-dev << Replaces: << lua (<< 1:5.0.4-0), lua50-dev, lua51-dev, lua52-dev, lua53-dev, lua54-dev << 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 liblua.%v.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 for compiling against Lua C API DescDetail: << For details about Lua/C API: https://www.lua.org/manual/5.1/manual.html#3 << << # TBD: These aliases DISABLED until a verdict has been made on how exactly # get Lua 5.0 dependent packages (Ion) co-exist with us. # # # --- lua (alias for always most recent Lua) # # # # So that people can simply 'sudo fink install lua' and they'll get the # # most recent (major) version. No package shall depend on this, since the # # exact version is not known (and Lua is generally not 100% backwards # # compatible) # # # SplitOff3: << # Package: lua # Recommends: lua51 # << # # # --- lua-shlibs (deprecated) # # # SplitOff4: << # Package: lua-shlibs # Depends: fink-obsolete-packages # <<