| 1 |
|
# Copyright 1999-2025 Gentoo Authors
|
|
1 |
# Copyright 1999-2026 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
6 |
inherit cmake systemd
|
| 7 |
7 |
|
|
8 |
# The notice is triggered by a docker file, which is unused here.
|
|
9 |
# https://bugs.gentoo.org/964599
|
|
10 |
CMAKE_QA_COMPAT_SKIP=1
|
|
11 |
CMP_COMMIT="52bfcfa17d2eb4322da2037ad625f5575129cece"
|
|
12 |
|
| 8 |
13 |
DESCRIPTION="Encrypted P2P, messaging, and audio/video calling platform"
|
| 9 |
14 |
HOMEPAGE="https://tox.chat https://github.com/TokTok/c-toxcore"
|
| 10 |
|
MY_P="c-toxcore-${PV}"
|
| 11 |
|
S="${WORKDIR}/${MY_P}"
|
| 12 |
|
SRC_URI="https://github.com/TokTok/c-toxcore/releases/download/v${PV}/${MY_P}.tar.gz"
|
|
15 |
|
|
16 |
if [[ ${PV} == 9999 ]]; then
|
|
17 |
inherit git-r3
|
|
18 |
EGIT_REPO_URI="https://github.com/TokTok/c-toxcore.git"
|
|
19 |
EGIT_SUBMODULES=( third_party/cmp )
|
|
20 |
else
|
|
21 |
MY_P="c-toxcore-${PV}"
|
|
22 |
SRC_URI="
|
|
23 |
https://github.com/TokTok/c-toxcore/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz
|
|
24 |
https://github.com/TokTok/cmp/archive/${CMP_COMMIT}.tar.gz -> toktok-cmp-${CMP_COMMIT}.tar.gz
|
|
25 |
"
|
|
26 |
KEYWORDS="~amd64 ~arm ~x86"
|
|
27 |
S="${WORKDIR}/${MY_P}"
|
|
28 |
fi
|
| 13 |
29 |
|
| 14 |
30 |
LICENSE="GPL-3+"
|
| 15 |
31 |
SLOT="0/0.2"
|
| 16 |
|
KEYWORDS="amd64 ~arm x86"
|
| 17 |
32 |
IUSE="+av debug daemon dht-node experimental ipv6 key-utils log-debug +log-error log-info log-trace log-warn test"
|
| 18 |
33 |
|
| 19 |
34 |
REQUIRED_USE="?? ( log-debug log-error log-info log-trace log-warn )
|
| ... | ... | |
| 35 |
50 |
)
|
| 36 |
51 |
key-utils? ( || ( sys-devel/gcc[openmp] llvm-runtimes/clang-runtime[openmp] ) )"
|
| 37 |
52 |
|
| 38 |
|
src_prepare() {
|
| 39 |
|
cmake_src_prepare
|
|
53 |
# Skip flaky tests.
|
|
54 |
CMAKE_SKIP_TESTS=(
|
|
55 |
scenario_group_topic
|
|
56 |
scenario_lan_discovery
|
|
57 |
scenario_tox_many
|
|
58 |
)
|
|
59 |
|
|
60 |
src_unpack() {
|
|
61 |
default
|
| 40 |
62 |
|
| 41 |
|
#Remove faulty tests
|
| 42 |
|
for testname in group_topic, lan_discovery; do
|
| 43 |
|
sed -i -e "/^auto_test(${testname})$/d" ./auto_tests/CMakeLists.txt || die
|
| 44 |
|
done
|
|
63 |
if [[ ${PV} == 9999 ]]; then
|
|
64 |
git-r3_src_unpack
|
|
65 |
else
|
|
66 |
rm -d ${MY_P}/third_party/cmp || die
|
|
67 |
mv cmp-${CMP_COMMIT} ${MY_P}/third_party/cmp || die
|
|
68 |
fi
|
| 45 |
69 |
}
|
| 46 |
70 |
|
| 47 |
71 |
src_configure() {
|
| ... | ... | |
| 92 |
116 |
}
|
| 93 |
117 |
|
| 94 |
118 |
src_test() {
|
|
119 |
# Some tests appear to get flaky with multiple jobs running.
|
|
120 |
# https://bugs.gentoo.org/730434
|
| 95 |
121 |
cmake_src_test -j1
|
| 96 |
122 |
}
|
| 97 |
123 |
|