Skip to content

Commit

Permalink
dev-lua/luasystem: migrate to lua eclass
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/752939
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Conrad Kostecki <[email protected]>
  • Loading branch information
ConiKost committed Nov 28, 2020
1 parent 16fdc51 commit 6fddd53
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 1 deletion.
84 changes: 84 additions & 0 deletions dev-lua/luasystem/luasystem-0.2.1_p0-r100.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

LUA_COMPAT=( lua5-{1..3} luajit )
MY_PV="${PV/_p/-}"

inherit lua toolchain-funcs

DESCRIPTION="Platform independent system calls for Lua"
HOMEPAGE="https://github.com/o-lim/luasystem/"
SRC_URI="https://github.com/o-lim/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${MY_PV}"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"

RDEPEND="${LUA_DEPS}"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
test? (
>=dev-lua/busted-2.0.0-r100
${RDEPEND}
)
"

PATCHES=( "${FILESDIR}"/${P}-fix-makefile.patch )

lua_src_test() {
busted --lua=${ELUA} || die
}

src_test() {
lua_foreach_impl lua_src_test
}

lua_src_compile() {
# Clean project, to compile it for every lua slot
emake clean

local myemakeargs=(
"CC=$(tc-getCC)"
"LD=$(tc-getCC)"
"LUAINC_linux=$(lua_get_include_dir)"
"MYCFLAGS=${CFLAGS}"
"MYLDFLAGS=${LDFLAGS}"
)

emake "${myemakeargs[@]}" linux

# Copy module to match the choosen LUA implementation
cp "src/core.so" "src/core-${ELUA}.so" || die
}

src_compile() {
lua_foreach_impl lua_src_compile
}

lua_src_install () {
# Use correct module for the choosen LUA implementation
cp "src/core-${ELUA}.so" "src/core.so" || die

local emakeargs=(
"INSTALL_TOP_CDIR=${ED}/$(lua_get_cmod_dir)"
"INSTALL_TOP_LDIR=${ED}/$(lua_get_lmod_dir)"
"LUA_INC=${ED}/$(lua_get_include_dir)"
)

emake "${emakeargs[@]}" install

insinto $(lua_get_lmod_dir)/system
doins system/init.lua
}

src_install() {
lua_foreach_impl lua_src_install

einstalldocs
}
6 changes: 5 additions & 1 deletion dev-lua/luasystem/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
<email>[email protected]</email>
<name>William Hubbs</name>
</maintainer>
<longdescription lang="en">
<maintainer type="person">
<email>[email protected]</email>
<name>Conrad Kostecki</name>
</maintainer>
<longdescription>
luasystem is a platform independent system call library for Lua.
Supports Lua >= 5.1 and luajit >= 2.0.0.
</longdescription>
Expand Down
1 change: 1 addition & 0 deletions profiles/package.mask
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,7 @@ dev-lua/luacrypto
>=dev-lua/luafilesystem-1.8.0-r100
>=dev-lua/luasec-0.9-r100
>=dev-lua/luasocket-3.0_rc1_p20200328-r100
>=dev-lua/luasystem-0.2.1_p0-r100
>=dev-lua/lutok-0.4-r10
>=dev-lua/luv-1.32.0.0-r100
>=dev-lua/mediator_lua-1.1.2_p0-r100
Expand Down

0 comments on commit 6fddd53

Please sign in to comment.