Revision: 118448 https://trac.macports.org/changeset/118448 Author: and.damore@macports.org Date: 2014-04-02 08:15:18 -0700 (Wed, 02 Apr 2014) Log Message: ----------- port lua51: add new versioned lua 5.1 branch for those libraries relying on 5.1 API Added Paths: ----------- trunk/dports/lang/lua51/ trunk/dports/lang/lua51/Portfile trunk/dports/lang/lua51/files/ trunk/dports/lang/lua51/files/patch-Makefile.diff trunk/dports/lang/lua51/files/patch-etc_lua.pc.diff trunk/dports/lang/lua51/files/patch-src_Makefile.diff Added: trunk/dports/lang/lua51/Portfile =================================================================== --- trunk/dports/lang/lua51/Portfile (rev 0) +++ trunk/dports/lang/lua51/Portfile 2014-04-02 15:15:18 UTC (rev 118448) @@ -0,0 +1,85 @@ +# $Id$ + +PortSystem 1.0 + +name lua51 +version 5.1.5 +set abi [join [lrange [split $version "."] 0 end-1] "."] +categories lang +license MIT +platforms darwin +maintainers nomaintainer +description powerful, lightweight programming language +long_description \ + Lua is a powerful, light-weight programming language designed for \ + extending applications. Lua is also frequently used as a general-purpose, \ + standalone language. + +homepage http://www.lua.org +distname lua-${version} +master_sites ${homepage}/ftp/ + +checksums sha1 b3882111ad02ecc6b972f8c1241647905cb2e3fc \ + rmd160 b0c2234675335a8bf158a125b6778cf800c754a0 + +depends_lib port:readline + +test.run yes +test.env DYLD_LIBRARY_PATH=./lib + +patchfiles patch-Makefile.diff \ + patch-src_Makefile.diff \ + patch-etc_lua.pc.diff + +post-patch { + reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/src/luaconf.h + + # reinplace %PREFIX% to fix @executable_path, cf. ticket no. 28726 + reinplace "s|%PREFIX%|${prefix}|g" \ + ${worksrcpath}/Makefile \ + ${worksrcpath}/src/Makefile \ + ${worksrcpath}/etc/lua.pc +} + +use_configure no + +build.target macosx +build.args-append V=${abi} \ + R=${version} \ + PREFIX=${prefix} \ + CC="${configure.cc}" \ + LDFLAGS="${configure.ldflags} [get_canonical_archflags ld]" \ + CFLAGS="${configure.cflags} ${configure.cppflags} [get_canonical_archflags cc]" + +use_parallel_build no + +destroot.post_args-append INSTALL_TOP=${destroot}${prefix} +post-destroot { + # install docs + xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name} + xinstall -m 0644 -W ${worksrcpath} COPYRIGHT HISTORY README \ + ${destroot}${prefix}/share/doc/${name} + foreach f [glob ${worksrcpath}/doc/*] { + xinstall -m 0644 $f ${destroot}${prefix}/share/doc/${name} + } + + # install test and etc stuff in shared/${name} + xinstall -d -m 0755 ${destroot}${prefix}/share/examples + copy ${worksrcpath}/test ${destroot}${prefix}/share/examples/${name} + + # version executable and man pages files + foreach f [glob ${destroot}${prefix}/bin/*] { + move $f ${f}${abi} + } + foreach f [glob ${destroot}${prefix}/share/man/man1/*] { + move $f [file rootname $f]-${abi}[file extension $f] + } + + # install versioned pkgconfig file + xinstall -d -m 0755 ${destroot}${prefix}/lib/pkgconfig + xinstall -m 0644 ${worksrcpath}/etc/lua.pc ${destroot}${prefix}/lib/pkgconfig/lua-${abi}.pc +} + +livecheck.type regex +livecheck.url ${master_sites} +livecheck.regex {lua-(\d+(?:\.\d+)*)} Property changes on: trunk/dports/lang/lua51/Portfile ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: trunk/dports/lang/lua51/files/patch-Makefile.diff =================================================================== --- trunk/dports/lang/lua51/files/patch-Makefile.diff (rev 0) +++ trunk/dports/lang/lua51/files/patch-Makefile.diff 2014-04-02 15:15:18 UTC (rev 118448) @@ -0,0 +1,36 @@ +--- Makefile.orig 2014-04-02 16:29:20.000000000 +0200 ++++ Makefile 2014-04-02 16:35:02.000000000 +0200 +@@ -9,11 +9,11 @@ + + # Where to install. The installation starts in the src and doc directories, + # so take care if INSTALL_TOP is not an absolute path. +-INSTALL_TOP= /usr/local ++INSTALL_TOP= %PREFIX% + INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_INC= $(INSTALL_TOP)/include +-INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_INC= $(INSTALL_TOP)/include/lua-${V} ++INSTALL_LIB= $(INSTALL_TOP)/lib/lua-${V} ++INSTALL_MAN= $(INSTALL_TOP)/share/man/man1 + # + # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with + # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h (and also with etc/lua.pc). +@@ -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.${R}.a liblua.${R}.dylib + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -53,7 +53,7 @@ + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) $@ V=${V} R=${R} INSTALL_LIB=${INSTALL_LIB} + + test: dummy + src/lua test/hello.lua Added: trunk/dports/lang/lua51/files/patch-etc_lua.pc.diff =================================================================== --- trunk/dports/lang/lua51/files/patch-etc_lua.pc.diff (rev 0) +++ trunk/dports/lang/lua51/files/patch-etc_lua.pc.diff 2014-04-02 15:15:18 UTC (rev 118448) @@ -0,0 +1,33 @@ +--- etc/lua.pc.orig 2014-04-02 16:29:34.000000000 +0200 ++++ etc/lua.pc 2014-04-02 16:35:23.000000000 +0200 +@@ -8,24 +8,24 @@ + R= 5.1.5 + + # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' +-prefix= /usr/local ++prefix= %PREFIX% + INSTALL_BIN= ${prefix}/bin +-INSTALL_INC= ${prefix}/include +-INSTALL_LIB= ${prefix}/lib ++INSTALL_INC= ${prefix}/include/lua-${V} ++INSTALL_LIB= ${prefix}/lib/lua-${V} + INSTALL_MAN= ${prefix}/man/man1 + INSTALL_LMOD= ${prefix}/share/lua/${V} + INSTALL_CMOD= ${prefix}/lib/lua/${V} + + # canonical vars + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib +-includedir=${prefix}/include ++libdir=${exec_prefix}/lib/lua-${V} ++includedir=${prefix}/include/lua-${V} + + Name: Lua + Description: An Extensible Extension Language + Version: ${R} + Requires: +-Libs: -L${libdir} -llua -lm ++Libs: -L${libdir} -llua-${R} -lm + Cflags: -I${includedir} + + # (end of lua.pc) Added: trunk/dports/lang/lua51/files/patch-src_Makefile.diff =================================================================== --- trunk/dports/lang/lua51/files/patch-src_Makefile.diff (rev 0) +++ trunk/dports/lang/lua51/files/patch-src_Makefile.diff 2014-04-02 15:15:18 UTC (rev 118448) @@ -0,0 +1,48 @@ +--- src/Makefile.orig 2014-04-02 16:52:31.000000000 +0200 ++++ src/Makefile 2014-04-02 16:50:47.000000000 +0200 +@@ -22,7 +22,8 @@ + + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + +-LUA_A= liblua.a ++LUA_A= liblua.${R}.a ++LUA_DYLIB= liblua.${R}.dylib + 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 +37,8 @@ + 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_A= $(LUA_A) ++ALL_T= $(LUA_A) $(LUA_DYLIB) $(LUA_T) $(LUAC_T) ++ALL_A= $(LUA_A) $(LUA_DYLIB) + + default: $(PLAT) + +@@ -48,9 +49,15 @@ + a: $(ALL_A) + + $(LUA_A): $(CORE_O) $(LIB_O) ++ @echo "Building static library" + $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files + $(RANLIB) $@ + ++$(LUA_DYLIB): $(CORE_O) $(LIB_O) ++ @echo "Building dylib" ++ $(CC) -o $@ $(MYLDFLAGS) -dynamiclib -install_name ${INSTALL_LIB}/$@ \ ++ -compatibility_version ${V} -current_version ${R} $^ ++ + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + +@@ -99,7 +106,7 @@ + $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" + + macosx: +- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline" ++ $(MAKE) all MYCFLAGS="-fno-common -DLUA_USE_LINUX" MYLIBS="-lreadline" + # use this on Mac OS X 10.3- + # $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX +
participants (1)
-
and.damore@macports.org