# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 LUA_COMPAT=( lua{5-{1..4},jit} ) inherit lua git-r3 toolchain-funcs DESCRIPTION="Lua driver for LDAP" HOMEPAGE="https://github.com/lualdap/lualdap" EGIT_REPO_URI="https://github.com/lualdap/lualdap" LICENSE="MIT" SLOT="0" IUSE="doc examples" REQUIRED_USE="${LUA_REQUIRED_USE}" RDEPEND=" ${LUA_DEPS} net-nds/openldap " DEPEND="${RDEPEND}" HTML_DOCS=(docs/.) src_prepare() { default sed -i -e 'd' config sed \ -e '/#define luaL_newlib(/s@^@#ifndef luaL_newlib\n@' \ -e '/(luaL_newlibtable(L, (l)), luaL_setfuncs(L, (l), 0))/s@$@\n#endif@' \ -i src/"${PN}".c || die lua_copy_sources } each_lua_compile() { local cf=( ${CFLAGS} -fPIC $(lua_get_CFLAGS) $($(tc-getPKG_CONFIG) --cflags ldap || die "Can't find openldap") -shared src/"${PN}".c $($(tc-getPKG_CONFIG) --libs ldap || die "Can't find openldap") ${LDFLAGS} -o ${PN}.so ) pushd "${BUILD_DIR}" echo $(tc-getCC) ${cf[@]} $(tc-getCC) ${cf[@]} || die "Failed to compile" popd } #each_lua_test() { # Requires LDAP server # ${LUA} tests/test.lua [:port] [ []] #} each_lua_install() { pushd "${BUILD_DIR}" insinto "$(lua_get_cmod_dir)" doins "${PN}".so popd } src_compile() { lua_foreach_impl each_lua_compile } src_install() { lua_foreach_impl each_lua_install if use examples; then mv tests examples DOCS+=(examples) docompress -x "/usr/share/doc/${PF}/examples" fi einstalldocs }