diff options
author | Matti Bickel <mabi@gentoo.org> | 2010-02-23 12:19:36 +0000 |
---|---|---|
committer | Matti Bickel <mabi@gentoo.org> | 2010-02-23 12:19:36 +0000 |
commit | cb411cda508d81e73e19bc0b65019595d09620d0 (patch) | |
tree | f05bfd7832ed0cb8491fbc5420f56312aed06592 /dev-lang/lua | |
parent | Add proxy maintainer (diff) | |
download | gentoo-2-cb411cda508d81e73e19bc0b65019595d09620d0.tar.gz gentoo-2-cb411cda508d81e73e19bc0b65019595d09620d0.tar.bz2 gentoo-2-cb411cda508d81e73e19bc0b65019595d09620d0.zip |
add upstream patches
(Portage version: 2.1.7.16/cvs/Linux i686)
Diffstat (limited to 'dev-lang/lua')
-rw-r--r-- | dev-lang/lua/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lang/lua/files/5.1.4/03_all_debug_getfenv.upstream.patch | 10 | ||||
-rw-r--r-- | dev-lang/lua/files/5.1.4/04_all_gc_performance.upstream.patch | 14 | ||||
-rw-r--r-- | dev-lang/lua/lua-5.1.4-r5.ebuild | 117 |
4 files changed, 149 insertions, 1 deletions
diff --git a/dev-lang/lua/ChangeLog b/dev-lang/lua/ChangeLog index a3f128452a25..74778f0a48e3 100644 --- a/dev-lang/lua/ChangeLog +++ b/dev-lang/lua/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-lang/lua # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/lua/ChangeLog,v 1.144 2010/01/10 18:27:53 nixnut Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/lua/ChangeLog,v 1.145 2010/02/23 12:19:34 mabi Exp $ + +*lua-5.1.4-r5 (23 Feb 2010) + + 23 Feb 2010; <mabi@gentoo.org> + +files/5.1.4/03_all_debug_getfenv.upstream.patch, +lua-5.1.4-r5.ebuild, + +files/5.1.4/04_all_gc_performance.upstream.patch: + add upstream patches 10 Jan 2010; nixnut <nixnut@gentoo.org> lua-5.1.4-r4.ebuild: ppc stable #295134 diff --git a/dev-lang/lua/files/5.1.4/03_all_debug_getfenv.upstream.patch b/dev-lang/lua/files/5.1.4/03_all_debug_getfenv.upstream.patch new file mode 100644 index 000000000000..fce4d47db8f4 --- /dev/null +++ b/dev-lang/lua/files/5.1.4/03_all_debug_getfenv.upstream.patch @@ -0,0 +1,10 @@ +--- lua-5.1.4.orig/src/ldblib.c 2007/12/28 15:32:23 2.63.1.3 ++++ lua-5.1.4/src/ldblib.c 2010/02/23 12:36:59 +@@ -45,6 +45,7 @@ + + + static int db_getfenv (lua_State *L) { ++ luaL_checkany(L, 1); + lua_getfenv(L, 1); + return 1; + } diff --git a/dev-lang/lua/files/5.1.4/04_all_gc_performance.upstream.patch b/dev-lang/lua/files/5.1.4/04_all_gc_performance.upstream.patch new file mode 100644 index 000000000000..3c78525b0b2f --- /dev/null +++ b/dev-lang/lua/files/5.1.4/04_all_gc_performance.upstream.patch @@ -0,0 +1,14 @@ +--- lua-5.1.4.orig/src/llex.c 2007/12/28 15:32:23 2.63.1.3 ++++ lua-5.1.4/src/llex.c 2010/02/23 12:36:59 +@@ -118,8 +118,10 @@ + lua_State *L = ls->L; + TString *ts = luaS_newlstr(L, str, l); + TValue *o = luaH_setstr(L, ls->fs->h, ts); /* entry for `str' */ +- if (ttisnil(o)) ++ if (ttisnil(o)) { + setbvalue(o, 1); /* make sure `str' will not be collected */ ++ luaC_checkGC(L); ++ } + return ts; + } + diff --git a/dev-lang/lua/lua-5.1.4-r5.ebuild b/dev-lang/lua/lua-5.1.4-r5.ebuild new file mode 100644 index 000000000000..0fda650382de --- /dev/null +++ b/dev-lang/lua/lua-5.1.4-r5.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/lua/lua-5.1.4-r5.ebuild,v 1.1 2010/02/23 12:19:34 mabi Exp $ + +EAPI="1" + +inherit eutils multilib portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="+deprecated emacs readline static" + +DEPEND="readline? ( sys-libs/readline )" +RDEPEND="${DEPEND}" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +src_unpack() { + local PATCH_PV=$(get_version_component_range 1-2) + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch + + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:4:1/' src/Makefile + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html + + if ! use deprecated ; then + epatch "${FILESDIR}"/${P}-deprecated.patch + epatch "${FILESDIR}"/${P}-test.patch + fi + + if ! use readline ; then + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch + fi + + # Using dynamic linked lua is not recommended upstream for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Not that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries (both shared and static + # are installed) + if use static ; then + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch + fi + + # We want packages to find our things... + sed -i \ + -e 's:/usr/local:/usr:' \ + -e "s:/\<lib\>:/$(get_libdir):g" \ + etc/lua.pc +} + +src_compile() { + tc-export CC + myflags= + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + if use readline; then + mylibs="-lreadline" + fi + + cd src + emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \ + RPATH="${ROOT}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=${PV} \ + gentoo_all || die "emake failed" + + mv lua_test ../test/lua.static +} + +src_install() { + emake INSTALL_TOP="${D}/usr/" INSTALL_LIB="${D}/usr/$(get_libdir)/" \ + V=${PV} gentoo_install \ + || die "emake install gentoo_install failed" + + dodoc HISTORY README + dohtml doc/*.html doc/*.gif + + insinto /usr/share/pixmaps + doins etc/lua.ico + insinto /usr/$(get_libdir)/pkgconfig + doins etc/lua.pc + + doman doc/lua.1 doc/luac.1 +} + +src_test() { + local positive="bisect cf echo env factorial fib fibfor hello printf sieve + sort trace-calls trace-globals" + local negative="readonly" + local test + + cd "${S}" + for test in ${positive}; do + test/lua.static test/${test}.lua || die "test $test failed" + done + + for test in ${negative}; do + test/lua.static test/${test}.lua && die "test $test failed" + done +} |