commit:     6cbbbd10a9a5a5ed5b8f801b04d3bfd08a59407d
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 23 19:44:39 2020 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Mon Nov 23 19:53:35 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cbbbd10

dev-lua/luaexpat: migrate to lua eclass

Closes: https://bugs.gentoo.org/752642
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 dev-lua/luaexpat/luaexpat-1.3.0-r100.ebuild | 78 +++++++++++++++++++++++++++
 dev-lua/luaexpat/luaexpat-1.3.3-r100.ebuild | 82 +++++++++++++++++++++++++++++
 profiles/package.mask                       |  2 +
 3 files changed, 162 insertions(+)

diff --git a/dev-lua/luaexpat/luaexpat-1.3.0-r100.ebuild 
b/dev-lua/luaexpat/luaexpat-1.3.0-r100.ebuild
new file mode 100644
index 00000000000..28ce6e13709
--- /dev/null
+++ b/dev-lua/luaexpat/luaexpat-1.3.0-r100.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..3} )
+LUA_REQ_USE="${MULTILIB_USEDEP}"
+
+inherit lua multilib-minimal toolchain-funcs
+
+DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
+HOMEPAGE="https://matthewwild.co.uk/projects/luaexpat/";
+SRC_URI="https://matthewwild.co.uk/projects/${PN}/${P}.tar.gz";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+       dev-libs/expat[${MULTILIB_USEDEP}]
+       ${LUA_DEPS}
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+HTML_DOCS=( "doc/us/." )
+
+src_prepare() {
+       default
+
+       # Respect users CFLAGS
+       # Add '-DLUA_32BITS' for fixing compilation with lua5.3
+       sed -e 's/-O2/-DLUA_32BITS/g' -i Makefile || die
+
+       multilib_copy_sources
+}
+
+lua_multilib_src_compile() {
+       # Clean project, to compile it for every lua slot
+       emake clean
+
+       local myemakeargs=(
+               "CC=$(tc-getCC)"
+               "LUA_INC=$(lua_get_CFLAGS)"
+       )
+
+       emake "${myemakeargs[@]}"
+
+       # Copy module to match the choosen LUA implementation
+       cp "src/lxp.so" "src/lxp-${ELUA}.so" || die
+}
+
+multilib_src_compile() {
+       lua_foreach_impl lua_multilib_src_compile
+}
+
+lua_multilib_src_install() {
+       # Use correct module for the choosen LUA implementation
+       cp "src/lxp-${ELUA}.so" "src/lxp.so" || die
+
+       local myemakeargs=(
+               "DESTDIR=${ED}"
+               "LUA_CDIR=$(lua_get_cmod_dir)"
+               "LUA_INC=$(lua_get_include_dir)"
+               "LUA_LDIR=$(lua_get_lmod_dir)"
+       )
+
+       emake "${myemakeargs[@]}" install
+}
+
+multilib_src_install() {
+       lua_foreach_impl lua_multilib_src_install
+}
+
+multilib_src_install_all() {
+       einstalldocs
+}

diff --git a/dev-lua/luaexpat/luaexpat-1.3.3-r100.ebuild 
b/dev-lua/luaexpat/luaexpat-1.3.3-r100.ebuild
new file mode 100644
index 00000000000..7674c7cd76a
--- /dev/null
+++ b/dev-lua/luaexpat/luaexpat-1.3.3-r100.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..3} )
+LUA_REQ_USE="${MULTILIB_USEDEP}"
+
+inherit lua multilib-minimal toolchain-funcs
+
+DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
+HOMEPAGE="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"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+       dev-libs/expat[${MULTILIB_USEDEP}]
+       ${LUA_DEPS}
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+HTML_DOCS=( "doc/us/." )
+
+PATCHES=(
+       "${FILESDIR}/${P}_makefile.patch"
+       "${FILESDIR}/${P}_getcurrentbytecount.patch"
+       "${FILESDIR}/${P}_restore_functionality.patch"
+)
+
+src_prepare() {
+       default
+
+       # Respect users CFLAGS
+       sed -e 's/-O2//g' -i makefile || die
+
+       multilib_copy_sources
+}
+
+lua_multilib_src_compile() {
+       # Clean project, to compile it for every lua slot
+       emake clean
+
+       local myemakeargs=(
+               "CC=$(tc-getCC)"
+               "LUA_INC=$(lua_get_include_dir)"
+       )
+
+       emake "${myemakeargs[@]}"
+
+       # Copy module to match the choosen LUA implementation
+       cp "src/lxp.so.${PV}" "src/lxp-${ELUA}.so.${PV}" || die
+}
+
+multilib_src_compile() {
+       lua_foreach_impl lua_multilib_src_compile
+}
+
+lua_multilib_src_install() {
+       # Use correct module for the choosen LUA implementation
+       cp "src/lxp-${ELUA}.so.${PV}" "src/lxp.so.${PV}" || die
+
+       local myemakeargs=(
+               "LUA_DIR=${ED}/$(lua_get_lmod_dir)"
+               "LUA_INC=${ED}/$(lua_get_include_dir)"
+               "LUA_LIBDIR=${ED}/$(lua_get_cmod_dir)"
+       )
+
+       emake "${myemakeargs[@]}" install
+}
+
+multilib_src_install() {
+       lua_foreach_impl lua_multilib_src_install
+}
+
+multilib_src_install_all() {
+       einstalldocs
+}

diff --git a/profiles/package.mask b/profiles/package.mask
index d769320c1cf..acfa5d92581 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -469,6 +469,8 @@ dev-lua/luacrypto
 >=dev-lua/lua-bit32-5.3.5-r100
 >=dev-lua/lua-zlib-1.2-r100
 >=dev-lua/luaevent-0.4.6-r100
+=dev-lua/luaexpat-1.3.0-r100
+=dev-lua/luaexpat-1.3.3-r100
 >=dev-lua/luasec-0.9-r100
 >=dev-lua/luasocket-3.0_rc1_p20200328-r100
 >=dev-lua/luv-1.32.0.0-r100

Reply via email to