diff options
| author | Conrad Kostecki <conikost@gentoo.org> | 2024-02-09 00:41:34 +0100 |
|---|---|---|
| committer | Conrad Kostecki <conikost@gentoo.org> | 2024-02-09 00:42:47 +0100 |
| commit | 8ee6b2243e11a612efd6e650d0ecb84bd1d19f9c (patch) | |
| tree | a979a14812b1b57d6b4e714518790c731c92aa0f /dev-lua/mpack/mpack-1.0.12.ebuild | |
| parent | 842fa21592b1a888f9f1ffd33f3cd190f34eab38 (diff) | |
| download | gentoo-8ee6b2243e11a612efd6e650d0ecb84bd1d19f9c.tar.gz gentoo-8ee6b2243e11a612efd6e650d0ecb84bd1d19f9c.tar.bz2 gentoo-8ee6b2243e11a612efd6e650d0ecb84bd1d19f9c.zip | |
dev-lua/mpack: add 1.0.12
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'dev-lua/mpack/mpack-1.0.12.ebuild')
| -rw-r--r-- | dev-lua/mpack/mpack-1.0.12.ebuild | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/dev-lua/mpack/mpack-1.0.12.ebuild b/dev-lua/mpack/mpack-1.0.12.ebuild new file mode 100644 index 000000000000..e724b86a46b8 --- /dev/null +++ b/dev-lua/mpack/mpack-1.0.12.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} luajit ) + +inherit lua toolchain-funcs + +MY_PN="lib${PN}-lua" + +DESCRIPTION="Lua bindings for libmpack" +HOMEPAGE="https://github.com/libmpack/libmpack-lua/" +SRC_URI="https://github.com/${MY_PN/-lua/}/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="test" +REQUIRED_USE="${LUA_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libmpack + ${LUA_DEPS} +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-lua/busted[${LUA_USEDEP}] + dev-lua/lua_cliargs[${LUA_USEDEP}] + ${RDEPEND} + ) +" + +src_prepare() { + default + + lua_copy_sources +} + +lua_src_compile() { + pushd "${BUILD_DIR}" || die + + local myemakeargs=( + "CC=$(tc-getCC)" + "LUA_INCLUDE=$(lua_get_CFLAGS)" + "LUA_LIB=" + "USE_SYSTEM_MPACK=yes" + "USE_SYSTEM_LUA=yes" + ) + + emake "${myemakeargs[@]}" + + popd +} + +src_compile() { + lua_foreach_impl lua_src_compile +} + +lua_src_test() { + pushd "${BUILD_DIR}" || die + + # "[ FAILED ] test.lua @ 279: mpack should not leak memory" + # It doesn't seem upstream actually support LuaJIT so were this up to me + # I would drop it from LUA_COMPAT, unfortunately there are packages in the + # tree which currently expect it to be supported. + if [[ ${ELUA} == "luajit" ]]; then + ewarn "Not running tests under ${ELUA} because they are known to fail" + return + fi + + busted --lua="${ELUA}" test.lua || die + + popd +} + +src_test() { + lua_foreach_impl lua_src_test +} + +lua_src_install() { + pushd "${BUILD_DIR}" || die + + local installdir="$(lua_get_cmod_dir)" + local myemakeargs=( + "DESTDIR=${ED}" + "LUA_CMOD_INSTALLDIR=${installdir#$EPREFIX}" + "USE_SYSTEM_MPACK=yes" + "USE_SYSTEM_LUA=yes" + ) + + emake "${myemakeargs[@]}" install + + popd + + if [[ ${CHOST} == *-darwin* ]] ; then + local luav=$(lua_get_version) + # we only want the major version (e.g. 5.1) + local luamv=${luav:0:3} + local file="lua/${luamv}/mpack.so" + install_name_tool \ + -id "${EPREFIX}/usr/$(get_libdir)/${file}" \ + "${ED}/usr/$(get_libdir)/${file}" \ + || die "Failed to adjust install_name" + fi +} + +src_install() { + lua_foreach_impl lua_src_install + + einstalldocs +} |
