dev-lua/tdlua - 9999 (mva)

Search

Install

Install this version:

emerge -a =dev-lua/tdlua-9999

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =dev-lua/tdlua-9999

Or alternatively:

emerge --autounmask-write -a =dev-lua/tdlua-9999

Package Information

Description:
A basic interface between tdlib and lua
Homepage:
https://github.com/giuseppeM99/tdlua
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
9999 8 0
View Raw Ebuild
# Copyright 2026 mva
# Distributed under the terms of the Public Domain or CC0 License

EAPI=8

LUA_COMPAT=( lua{5-{2..4},jit} )

inherit cmake lua git-r3

DESCRIPTION="A basic interface between tdlib and lua"
HOMEPAGE="https://github.com/giuseppeM99/tdlua"
EGIT_REPO_URI="https://github.com/giuseppeM99/tdlua"

EGIT_SUBMODULES=(
	"*"
	-td
)

LICENSE="GPL-3"
SLOT="0"
IUSE="examples static-libs +system-tdlib system-libtgvoip voip"
REQUIRED_USE="${LUA_REQUIRED_USE}"

RDEPEND="
	${LUA_DEPS}
	dev-libs/openssl:0=
	media-libs/opus:0=
	system-libtgvoip? ( media-libs/libtgvoip:= )
	system-tdlib? ( net-libs/tdlib:= )
	lua_targets_luajit? ( dev-lang/luajit[lua52compat] )
"
DEPEND="${RDEPEND}"

src_unpack() {
	if use system-libtgvoip || ! use voip; then
		EGIT_SUBMODULES+=(-libtgvoip)
	fi
	git-r3_src_unpack
}

src_prepare() {
	if use system-tdlib; then
		sed -i -r \
			-e '/add_subdirectory\(td\)/s@.*@find_package\(Td REQUIRED\)@' \
			CMakeLists.txt
	fi
	if use system-libtgvoip; then
		sed -i -r \
			-e 's@libtgvoip/@tgvoip/@' \
			LuaTDVoip.h LuaTDVoip.cpp
		sed -i -r \
			-e '/set\(TARGET\ "libtgvoip"\)/,/set_property\ \(TARGET\ libtgvoip\ PROPERTY\ CXX_STANDARD\ 11\)/d' \
			CMakeLists.txt
	fi
	cmake_src_prepare
	lua_copy_sources
}

each_lua_configure() {
	pushd "${BUILD_DIR}"
	mycmakeargs=(
		-DLUA_INCLUDE_DIR=$(lua_get_include_dir)
		-DTDLUA_TD_STATIC=$(usex static-libs ON OFF)
		-DTDLUA_CALLS=$(usex voip ON OFF)
	)
	cmake_src_configure
	popd
}

each_lua_compile() {
	pushd "${BUILD_DIR}"
	cmake_src_compile
	popd
}

each_lua_install() {
	pushd "${BUILD_DIR}"
	insinto "$(lua_get_cmod_dir)"
	doins "${PN}".so
	popd
}

src_configure() {
	lua_foreach_impl each_lua_configure
}

src_compile() {
	lua_foreach_impl each_lua_compile
}

src_install() {
	lua_foreach_impl each_lua_install
	if use examples; then
		DOCS+=(examples)
		docompress -x "/usr/share/doc/${PF}/examples"
	fi
	einstalldocs
}

USE Flags

Manage flags for this package: euse -i <flag> -p dev-lua/tdlua | euse -E <flag> -p dev-lua/tdlua | euse -D <flag> -p dev-lua/tdlua

Global/Standard Flags

system-tdlib
Default: Enabled (+)

Inherited Eclasses

lua

Dependencies

DEPEND

	
	dev-libs/openssl:0=
	media-libs/opus:0=
	system-libtgvoip? ( media-libs/libtgvoip:= )
	system-tdlib? ( net-libs/tdlib:= )
	lua_targets_luajit? ( dev-lang/luajit[lua52compat] )

RDEPEND

	
	dev-libs/openssl:0=
	media-libs/opus:0=
	system-libtgvoip? ( media-libs/libtgvoip:= )
	system-tdlib? ( net-libs/tdlib:= )
	lua_targets_luajit? ( dev-lang/luajit[lua52compat] )