summaryrefslogtreecommitdiff
blob: 656a22c8df1df4d59a24b05caab21a0aad5775d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

LUA_COMPAT=( lua5-{1..4} luajit )

inherit lua toolchain-funcs

DESCRIPTION="Bindings for POSIX APIs"
HOMEPAGE="https://luaposix.github.io/luaposix/ https://github.com/luaposix/luaposix"
SRC_URI="https://github.com/luaposix/luaposix/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc"
REQUIRED_USE="${LUA_REQUIRED_USE}"

# Requires specl, which is not in the tree yet
RESTRICT="test"

DEPEND="${LUA_DEPS}
	virtual/libcrypt:=
"
RDEPEND="${DEPEND}
	lua_targets_lua5-1? ( dev-lua/lua-bit32[lua_targets_lua5-1(-)] )
	lua_targets_luajit? ( dev-lua/lua-bit32[lua_targets_luajit(-)] )
"
BDEPEND="virtual/pkgconfig"

src_prepare() {
	default
	lua_copy_sources
}

lua_src_compile() {
	pushd "${BUILD_DIR}" || die

	# LDOC=true means disable ldoc update documentation
	./build-aux/luke --verbose package="${PN}" version="${PV}" \
		LDOC=true \
		PREFIX="${ED}/usr" \
		INST_LIBDIR="${ED}/$(lua_get_cmod_dir)" \
		INST_LUADIR="${ED}/$(lua_get_lmod_dir)" \
		LUA_INCDIR="${EPREFIX}/$(lua_get_include_dir)" \
		CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" || die

	popd || die
}

src_compile() {
	lua_foreach_impl lua_src_compile
}

lua_src_install() {
	pushd "${BUILD_DIR}" || die

	./build-aux/luke install \
		LDOC=true \
		PREFIX="${ED}/usr" \
		INST_LIBDIR="${ED}/$(lua_get_cmod_dir)" \
		INST_LUADIR="${ED}/$(lua_get_lmod_dir)" \
		|| die

	popd || die
}

src_install() {
	lua_foreach_impl lua_src_install
	dodoc {NEWS,README}.md
	use doc && dodoc -r doc
}