diff options
Diffstat (limited to 'dev-lua/luaexpat')
| -rw-r--r-- | dev-lua/luaexpat/files/luaexpat-1.3.3_makefile.patch | 10 | ||||
| -rw-r--r-- | dev-lua/luaexpat/files/luaexpat-1.3.3_restore_functionality.patch | 109 | ||||
| -rw-r--r-- | dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild | 2 | ||||
| -rw-r--r-- | dev-lua/luaexpat/luaexpat-1.3.0-r2.ebuild | 46 | ||||
| -rw-r--r-- | dev-lua/luaexpat/luaexpat-1.3.3-r2.ebuild | 49 |
5 files changed, 214 insertions, 2 deletions
diff --git a/dev-lua/luaexpat/files/luaexpat-1.3.3_makefile.patch b/dev-lua/luaexpat/files/luaexpat-1.3.3_makefile.patch index 95de7be60690..a780dddea838 100644 --- a/dev-lua/luaexpat/files/luaexpat-1.3.3_makefile.patch +++ b/dev-lua/luaexpat/files/luaexpat-1.3.3_makefile.patch @@ -1,5 +1,5 @@ diff --git a/makefile b/makefile -index 1a5a145..df09239 100644 +index 1a5a145..50912f0 100644 --- a/makefile +++ b/makefile @@ -45,7 +45,7 @@ OBJS= src/lxplib.o @@ -11,3 +11,11 @@ index 1a5a145..df09239 100644 install: mkdir -p $(LUA_LIBDIR) +@@ -53,6 +53,7 @@ install: + cd $(LUA_LIBDIR); ln -f -s $(LIBNAME) $T.so + mkdir -p $(LUA_DIR)/$T + cp src/$T/lom.lua $(LUA_DIR)/$T ++ cp src/$T/totable.lua $(LUA_DIR)/$T + + clean: + rm -f src/$(LIBNAME) $(OBJS) diff --git a/dev-lua/luaexpat/files/luaexpat-1.3.3_restore_functionality.patch b/dev-lua/luaexpat/files/luaexpat-1.3.3_restore_functionality.patch new file mode 100644 index 000000000000..c0bc8c1a7b41 --- /dev/null +++ b/dev-lua/luaexpat/files/luaexpat-1.3.3_restore_functionality.patch @@ -0,0 +1,109 @@ +From 4ef48128bd9a725daca1d5a4aabe0c1665d78742 Mon Sep 17 00:00:00 2001 +From: Matthew Wild <mwild1@gmail.com> +Date: Wed, 2 Apr 2014 21:02:29 +0100 +Subject: [PATCH] Make merging of CharacterData events optional, controlled by + the 3rd parameter of lxp.new() + +--- + src/lxplib.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/lxplib.c b/src/lxplib.c +index a7d6c42..794f6e3 100644 +--- a/src/lxplib.c ++++ b/src/lxplib.c +@@ -57,6 +57,7 @@ struct lxp_userdata { + int tableref; /* table with callbacks for this parser */ + enum XPState state; + luaL_Buffer *b; /* to concatenate sequences of cdata pieces */ ++ int bufferCharData; /* whether to buffer cdata pieces */ + }; + + typedef struct lxp_userdata lxp_userdata; +@@ -171,8 +172,13 @@ static void f_CharData (void *ud, const char *s, int len) { + lxp_userdata *xpu = (lxp_userdata *)ud; + if (xpu->state == XPSok) { + if (getHandle(xpu, CharDataKey) == 0) return; /* no handle */ +- xpu->state = XPSstring; +- luaL_buffinit(xpu->L, xpu->b); ++ if(xpu->bufferCharData != 0) { ++ xpu->state = XPSstring; ++ luaL_buffinit(xpu->L, xpu->b); ++ } else { ++ lua_pushlstring(xpu->L, s, len); ++ docall(xpu, 1, 0); ++ } + } + if (xpu->state == XPSstring) + luaL_addlstring(xpu->b, s, len); +@@ -393,8 +399,10 @@ static void checkcallbacks (lua_State *L) { + + static int lxp_make_parser (lua_State *L) { + XML_Parser p; ++ int bufferCharData = (lua_type(L, 3) != LUA_TBOOLEAN) || (lua_toboolean(L, 3) != 0); + char sep = *luaL_optstring(L, 2, ""); + lxp_userdata *xpu = createlxp(L); ++ xpu->bufferCharData = bufferCharData; + p = xpu->parser = (sep == '\0') ? XML_ParserCreate(NULL) : + XML_ParserCreateNS(NULL, sep); + if (!p) +From cbaf85740f6032cfc025c7bde3f9861d15825928 Mon Sep 17 00:00:00 2001 +From: Matthew Wild <mwild1@gmail.com> +Date: Wed, 2 Apr 2014 20:56:58 +0100 +Subject: [PATCH] Add support for XmlDecl handlers + +--- + src/lxplib.c | 14 +++++++++++++- + src/lxplib.h | 1 + + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/src/lxplib.c b/src/lxplib.c +index 35bec3c..a7d6c42 100644 +--- a/src/lxplib.c ++++ b/src/lxplib.c +@@ -345,6 +345,16 @@ static void f_StartDoctypeDecl (void *ud, const XML_Char *doctypeName, + docall(xpu, 4, 0); + } + ++static void f_XmlDecl (void *ud, const XML_Char *version, ++ const XML_Char *encoding, ++ int standalone) { ++ lxp_userdata *xpu = (lxp_userdata *)ud; ++ if (getHandle(xpu, XmlDeclKey) == 0) return; /* no handle */ ++ lua_pushstring(xpu->L, version); ++ lua_pushstring(xpu->L, encoding); ++ lua_pushboolean(xpu->L, standalone); ++ docall(xpu, 3, 0); ++} + /* }====================================================== */ + + +@@ -365,7 +375,7 @@ static void checkcallbacks (lua_State *L) { + "Default", "DefaultExpand", "StartElement", "EndElement", + "ExternalEntityRef", "StartNamespaceDecl", "EndNamespaceDecl", + "NotationDecl", "NotStandalone", "ProcessingInstruction", +- "UnparsedEntityDecl", "StartDoctypeDecl", NULL}; ++ "UnparsedEntityDecl", "StartDoctypeDecl", "XmlDecl", NULL}; + if (hasfield(L, "_nonstrict")) return; + lua_pushnil(L); + while (lua_next(L, 1)) { +@@ -420,6 +430,8 @@ static int lxp_make_parser (lua_State *L) { + XML_SetUnparsedEntityDeclHandler(p, f_UnparsedEntityDecl); + if (hasfield(L, StartDoctypeDeclKey)) + XML_SetStartDoctypeDeclHandler(p, f_StartDoctypeDecl); ++ if (hasfield(L, XmlDeclKey)) ++ XML_SetXmlDeclHandler(p, f_XmlDecl); + return 1; + } + +diff --git a/src/lxplib.h b/src/lxplib.h +index 9c0be4f..4c7084c 100644 +--- a/src/lxplib.h ++++ b/src/lxplib.h +@@ -20,5 +20,6 @@ + #define ProcessingInstructionKey "ProcessingInstruction" + #define UnparsedEntityDeclKey "UnparsedEntityDecl" + #define StartDoctypeDeclKey "StartDoctypeDecl" ++#define XmlDeclKey "XmlDecl" + + int luaopen_lxp (lua_State *L); diff --git a/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild b/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild index 60adcdc5d196..9adcba8913a4 100644 --- a/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild +++ b/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild @@ -14,7 +14,7 @@ SLOT="0" KEYWORDS="amd64 arm ~arm64 hppa ~mips ppc ppc64 sparc x86" IUSE="" -RDEPEND=">=dev-lang/lua-5.1.5-r2[deprecated,${MULTILIB_USEDEP}] +RDEPEND=">=dev-lang/lua-5.1.5-r2:0[deprecated,${MULTILIB_USEDEP}] >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]" DEPEND="${RDEPEND} virtual/pkgconfig" diff --git a/dev-lua/luaexpat/luaexpat-1.3.0-r2.ebuild b/dev-lua/luaexpat/luaexpat-1.3.0-r2.ebuild new file mode 100644 index 000000000000..8d14b5a90f25 --- /dev/null +++ b/dev-lua/luaexpat/luaexpat-1.3.0-r2.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library" +HOMEPAGE="https://www.keplerproject.org/luaexpat/" +SRC_URI="http://matthewwild.co.uk/projects/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND=">=dev-lang/lua-5.1.5-r2:0[${MULTILIB_USEDEP}] + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + sed -i -e 's:-g::' -e 's:-O2::' Makefile || die "sed failed" + multilib_copy_sources +} + +multilib_src_compile() { + emake \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + CC="$(tc-getCC)" \ + LUA_INC="-I$($(tc-getPKG_CONFIG) --variable INSTALL_INC lua)" +} + +multilib_src_install() { + emake \ + DESTDIR="${D}" \ + LUA_LDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)" \ + LUA_CDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)" \ + LUA_INC="-I$($(tc-getPKG_CONFIG) --variable INSTALL_INC lua)" \ + install +} + +multilib_src_install_all() { + dodoc -r README doc/* +} diff --git a/dev-lua/luaexpat/luaexpat-1.3.3-r2.ebuild b/dev-lua/luaexpat/luaexpat-1.3.3-r2.ebuild new file mode 100644 index 000000000000..5b99b5d96bac --- /dev/null +++ b/dev-lua/luaexpat/luaexpat-1.3.3-r2.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library" +HOMEPAGE="https://matthewwild.co.uk/projects/luaexpat/ https://github.com/tomasguisasola/luaexpat" +SRC_URI="https://github.com/tomasguisasola/luaexpat/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND=">=dev-lang/lua-5.1.5-r2:0[${MULTILIB_USEDEP}] + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}_makefile.patch" + "${FILESDIR}/${P}_getcurrentbytecount.patch" + "${FILESDIR}/${P}_restore_functionality.patch" +) + +src_prepare() { + default + multilib_copy_sources +} + +multilib_src_compile() { + emake \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + CC="$(tc-getCC)" \ + LUA_INC="$($(tc-getPKG_CONFIG) --variable INSTALL_INC lua)" +} + +multilib_src_install() { + emake \ + LUA_DIR="${D}/$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)" \ + LUA_LIBDIR="${D}/$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)" \ + install +} + +multilib_src_install_all() { + dodoc -r README.md doc/* +} |
