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
+}

Reply via email to