1 |
commit: de8c2499e60687d09b9a18e7e15bd32a4f2a1a6b |
2 |
Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> |
3 |
AuthorDate: Tue Feb 8 11:56:13 2022 +0000 |
4 |
Commit: Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in> |
5 |
CommitDate: Tue Feb 8 23:40:13 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=de8c2499 |
7 |
|
8 |
net-libs/td: initial import |
9 |
|
10 |
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in> |
11 |
|
12 |
net-libs/td/Manifest | 1 + |
13 |
net-libs/td/metadata.xml | 17 +++++ |
14 |
net-libs/td/td-1.8.0.ebuild | 147 ++++++++++++++++++++++++++++++++++++++++++++ |
15 |
3 files changed, 165 insertions(+) |
16 |
|
17 |
diff --git a/net-libs/td/Manifest b/net-libs/td/Manifest |
18 |
new file mode 100644 |
19 |
index 000000000..4906891d1 |
20 |
--- /dev/null |
21 |
+++ b/net-libs/td/Manifest |
22 |
@@ -0,0 +1 @@ |
23 |
+DIST td-1.8.0.tar.gz 4527846 BLAKE2B c75dd8513e1d0c248cd910f277bedc2f5c7f565b3450dcf8112df8d3b14f343c9fb144b9f45e4768b70ec89203d9b8b66396dfb45b76f7bd62c0d42b0294dbc2 SHA512 7992bc295900b4a770ec3316cc5d32eac5ced45d9019d65d56d753875fb07ccaca80db6ed8217472cef9a40ac0bf54b438214728f110f3b1ea62078252740640 |
24 |
|
25 |
diff --git a/net-libs/td/metadata.xml b/net-libs/td/metadata.xml |
26 |
new file mode 100644 |
27 |
index 000000000..cbe66e366 |
28 |
--- /dev/null |
29 |
+++ b/net-libs/td/metadata.xml |
30 |
@@ -0,0 +1,17 @@ |
31 |
+<?xml version="1.0" encoding="UTF-8"?> |
32 |
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> |
33 |
+<pkgmetadata> |
34 |
+ <maintainer type="person"> |
35 |
+ <email>cyber+gentoo@×××××.in</email> |
36 |
+ <name>Anna</name> |
37 |
+ </maintainer> |
38 |
+ <upstream> |
39 |
+ <doc>https://core.telegram.org/tdlib/docs/</doc> |
40 |
+ <remote-id type="github">tdlib/td</remote-id> |
41 |
+ </upstream> |
42 |
+ <use> |
43 |
+ <flag name="benchmark">Enable benchmarking</flag> |
44 |
+ <flag name="dotnet">Add support for .NET</flag> |
45 |
+ <flag name="jumbo-build">Combine source files to speed up build process</flag> |
46 |
+ </use> |
47 |
+</pkgmetadata> |
48 |
|
49 |
diff --git a/net-libs/td/td-1.8.0.ebuild b/net-libs/td/td-1.8.0.ebuild |
50 |
new file mode 100644 |
51 |
index 000000000..d719fbdaa |
52 |
--- /dev/null |
53 |
+++ b/net-libs/td/td-1.8.0.ebuild |
54 |
@@ -0,0 +1,147 @@ |
55 |
+# Copyright 2022 Gentoo Authors |
56 |
+# Distributed under the terms of the GNU General Public License v2 |
57 |
+ |
58 |
+EAPI=8 |
59 |
+ |
60 |
+DOCS_BUILDER="doxygen" |
61 |
+inherit cmake docs |
62 |
+ |
63 |
+DESCRIPTION="Cross-platform library for building Telegram clients" |
64 |
+HOMEPAGE="https://core.telegram.org/tdlib https://github.com/tdlib/td" |
65 |
+SRC_URI="https://github.com/tdlib/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" |
66 |
+ |
67 |
+LICENSE="Boost-1.0" |
68 |
+SLOT="0" |
69 |
+KEYWORDS="~amd64" |
70 |
+IUSE="benchmark dotnet java +jumbo-build static-libs test" |
71 |
+ |
72 |
+RESTRICT="!test? ( test )" |
73 |
+ |
74 |
+DEPEND=" |
75 |
+ dev-libs/openssl:= |
76 |
+ sys-libs/zlib:= |
77 |
+ dotnet? ( virtual/dotnet-sdk:* ) |
78 |
+ java? ( virtual/jdk:*[-headless-awt] ) |
79 |
+" |
80 |
+RDEPEND="${DEPEND}" |
81 |
+BDEPEND=" |
82 |
+ dev-lang/php[cli] |
83 |
+ dev-util/gperf |
84 |
+" |
85 |
+ |
86 |
+DOCS=( CHANGELOG.md README.md ) |
87 |
+ |
88 |
+TEST_TARGETS=( |
89 |
+ test-crypto |
90 |
+ #test-online -- requires network |
91 |
+ #test-tdutils -- hangs |
92 |
+ #run_all_tests -- segfaults |
93 |
+) |
94 |
+BENCH_TARGETS=( |
95 |
+ bench_{actor,empty,handshake,misc} |
96 |
+ bench_http |
97 |
+ check_tls |
98 |
+ #bench_{db,tddb} -- fail |
99 |
+ #bench_http_server{,_cheat,_fast} - hang |
100 |
+ #bench_http_reader -- fails |
101 |
+ #check_proxy -- requires proxy |
102 |
+ #rmdir -- fails |
103 |
+ #wget -- requires network |
104 |
+) |
105 |
+ |
106 |
+src_prepare() { |
107 |
+ sed "/find_program(CCACHE_FOUND ccache)/d" -i CMakeLists.txt || die |
108 |
+ echo "" > gen_git_commit_h.sh || die |
109 |
+ |
110 |
+ use test || cmake_comment_add_subdirectory test |
111 |
+ use benchmark || cmake_comment_add_subdirectory benchmark |
112 |
+ |
113 |
+ cmake_src_prepare |
114 |
+} |
115 |
+ |
116 |
+src_configure() { |
117 |
+ local mycmakeargs=( |
118 |
+ -DTD_ENABLE_DOTNET=$(usex dotnet) |
119 |
+ ) |
120 |
+ |
121 |
+ if use java; then |
122 |
+ local JAVA_HOME=$(java-config -O) |
123 |
+ local JAVA_AWT_LIBRARY=$(echo "${JAVA_HOME}"/jre/lib/*/libjawt.so) |
124 |
+ local JAVA_JVM_LIBRARY=$(echo "${JAVA_HOME}"/jre/lib/*/libjava.so) |
125 |
+ |
126 |
+ mycmakeargs+=( |
127 |
+ -DTD_ENABLE_JNI=ON |
128 |
+ -DJAVA_AWT_LIBRARY="${JAVA_AWT_LIBRARY}" |
129 |
+ -DJAVA_JVM_LIBRARY="${JAVA_JVM_LIBRARY}" |
130 |
+ -DJAVA_INCLUDE_PATH="${JAVA_HOME}/include" |
131 |
+ -DJAVA_INCLUDE_PATH2="${JAVA_HOME}/include/linux" |
132 |
+ -DJAVA_AWT_INCLUDE_PATH="${JAVA_HOME}/include" |
133 |
+ ) |
134 |
+ fi |
135 |
+ |
136 |
+ cmake_src_configure |
137 |
+} |
138 |
+ |
139 |
+src_compile() { |
140 |
+ einfo "Generating TL source file" |
141 |
+ cmake_build tl_generate_common tl_generate_json |
142 |
+ |
143 |
+ einfo "Generating git_info.h" |
144 |
+ cat <<- EOF > auto/git_info.h || die |
145 |
+ #pragma once |
146 |
+ #define GIT_COMMIT "v${PV}" |
147 |
+ #define GIT_DIRTY 0 |
148 |
+ EOF |
149 |
+ |
150 |
+ if ! use jumbo-build; then |
151 |
+ einfo "Splitting source files" |
152 |
+ php SplitSource.php || die |
153 |
+ fi |
154 |
+ |
155 |
+ # Let's build the library |
156 |
+ einfo "Building TDLib" |
157 |
+ cmake_src_compile |
158 |
+ |
159 |
+ if use test; then |
160 |
+ einfo "Building tests" |
161 |
+ cmake_build "${TEST_TARGETS[@]}" |
162 |
+ fi |
163 |
+ |
164 |
+ if use doc; then |
165 |
+ einfo "Generating docs" |
166 |
+ docs_compile |
167 |
+ fi |
168 |
+} |
169 |
+ |
170 |
+src_test() { |
171 |
+ # segfault |
172 |
+ #cmake_src_test |
173 |
+ |
174 |
+ pushd "${BUILD_DIR}"/test > /dev/null || die |
175 |
+ for exe in "${TEST_TARGETS[@]}"; do |
176 |
+ einfo "Running ${exe}" |
177 |
+ ./"${exe}" || die "${exe} failed" |
178 |
+ done |
179 |
+ popd > /dev/null || die |
180 |
+ |
181 |
+ if use benchmark; then |
182 |
+ pushd "${BUILD_DIR}"/benchmark > /dev/null || die |
183 |
+ for exe in "${BENCH_TARGETS[@]}"; do |
184 |
+ einfo "Running ${exe}" |
185 |
+ ./"${exe}" || die "${exe} failed" |
186 |
+ done |
187 |
+ popd > /dev/null || die |
188 |
+ fi |
189 |
+} |
190 |
+ |
191 |
+src_install() { |
192 |
+ cmake_src_install |
193 |
+ |
194 |
+ docompress -x /usr/share/doc/${PF}/example |
195 |
+ dodoc -r example |
196 |
+ |
197 |
+ if ! use static-libs; then |
198 |
+ einfo "Removing static libraries" |
199 |
+ find "${D}" -type f -name '*.a' -delete || die |
200 |
+ fi |
201 |
+} |