commit: 5c4e1ba64f9bce6d46e5e9d3cb272fbf456c2378 Author: Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com> AuthorDate: Wed May 21 19:36:33 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed May 21 20:51:52 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c4e1ba6
net-libs/tdlib: New package New dependency of telegram-desktop. Packaged in full, instead of just the required tde2e part, due to programs such as tdlib-purple using it as well. Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42194 Signed-off-by: Sam James <sam <AT> gentoo.org> net-libs/tdlib/Manifest | 1 + net-libs/tdlib/metadata.xml | 18 +++++++ net-libs/tdlib/tdlib-1.8.49_p20250510.ebuild | 77 ++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+) diff --git a/net-libs/tdlib/Manifest b/net-libs/tdlib/Manifest new file mode 100644 index 000000000000..be51b7152ca3 --- /dev/null +++ b/net-libs/tdlib/Manifest @@ -0,0 +1 @@ +DIST tdlib-1.8.49_p20250510.tar.gz 5477630 BLAKE2B 4f42bdb5306bf16c5e8f7f13809c3d1aa6f4805584aa21c87a2fb342b6b56c6ee9a6d8e108fabe42c195aa5ad03a7fc1d880fbcf68c8452359cfdf5bede33f7a SHA512 c0ec498011b821d545904674ed3534a5a2be4b38025daa4bb4e9661ec62c1583bc1edadb1dae2bc2619dc50e72baf5a3690e9aed6e87b2c123ce27370d00d9ff diff --git a/net-libs/tdlib/metadata.xml b/net-libs/tdlib/metadata.xml new file mode 100644 index 000000000000..499e84c88a93 --- /dev/null +++ b/net-libs/tdlib/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>[email protected]</email> + <name>Esteve Varela Colominas</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>[email protected]</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">tdlib/td</remote-id> + </upstream> + <use> + <flag name="tde2e">Install tde2e headers and cmake config</flag> + </use> +</pkgmetadata> diff --git a/net-libs/tdlib/tdlib-1.8.49_p20250510.ebuild b/net-libs/tdlib/tdlib-1.8.49_p20250510.ebuild new file mode 100644 index 000000000000..3f1350c4180e --- /dev/null +++ b/net-libs/tdlib/tdlib-1.8.49_p20250510.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Cross-platform library for building Telegram clients" +HOMEPAGE="https://github.com/tdlib/td" + +MY_PV="51743dfd01dff6179e2d8f7095729caa4e2222e9" +SRC_URI="https://github.com/tdlib/td/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/td-${MY_PV}" + +LICENSE="Boost-1.0" +SLOT="0/${PV%_p*}" +KEYWORDS="~amd64" +IUSE="+tde2e test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/openssl + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/gperf +" + +src_prepare() { + sed -e '/add_library(/s/ STATIC//' \ + -i CMakeLists.txt */CMakeLists.txt || die + sed -e '/set(INSTALL_STATIC_TARGETS /s/ tdjson_static TdJsonStatic//' \ + -e '/generate_pkgconfig(tdjson_static /d' \ + -i CMakeLists.txt || die + + # Benchmarks take way too long to compile + sed -e '/add_subdirectory(benchmark)/d' \ + -i CMakeLists.txt || die + + # Fix tests linking + sed -e 's/target_link_libraries(run_all_tests PRIVATE /&tdmtproto /' \ + -i test/CMakeLists.txt + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DTDE2E_INSTALL_INCLUDES=yes + ) + cmake_src_configure + + if use tde2e; then + # Generate cmake configuration files for the e2e-only variant + # These are required by certain programs which depend on "tde2e" + mycmakeargs+=( -DTD_E2E_ONLY=ON ) + BUILD_DIR="${S}_tde2e" cmake_src_configure + fi +} + +src_install() { + cmake_src_install + + if use tde2e; then + # Install the tde2e headers + insinto /usr/include/td/e2e + doins tde2e/td/e2e/e2e_api.h tde2e/td/e2e/e2e_errors.h + + # Install the tde2e cmake files + cd "${S}_tde2e" || die + insinto /usr/$(get_libdir)/cmake/tde2e + doins tde2eConfig.cmake tde2eConfigVersion.cmake + doins CMakeFiles/Export/*/tde2eStaticTargets*.cmake + fi +}
