3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
inherit cmake multibuild systemd xdg
|
|
6 |
inherit cmake edo multibuild systemd xdg
|
7 |
7 |
|
8 |
8 |
DESCRIPTION="BitTorrent client in C++ and Qt"
|
9 |
9 |
HOMEPAGE="https://www.qbittorrent.org"
|
... | ... | |
19 |
19 |
|
20 |
20 |
LICENSE="GPL-2"
|
21 |
21 |
SLOT="0"
|
22 |
|
IUSE="+dbus +gui webui"
|
23 |
|
REQUIRED_USE="dbus? ( gui )
|
24 |
|
|| ( gui webui )"
|
|
22 |
IUSE="+dbus +gui qt6 test webui"
|
|
23 |
RESTRICT="!test? ( test )"
|
|
24 |
REQUIRED_USE="|| ( gui webui )"
|
25 |
25 |
|
26 |
26 |
RDEPEND="
|
27 |
27 |
>=dev-libs/openssl-1.1.1:=
|
28 |
|
dev-qt/qtcore:5
|
29 |
|
dev-qt/qtnetwork:5[ssl]
|
30 |
|
dev-qt/qtsql:5
|
31 |
|
dev-qt/qtxml:5
|
32 |
|
<net-libs/libtorrent-rasterbar-2:=
|
|
28 |
>=net-libs/libtorrent-rasterbar-1.2.18:=
|
33 |
29 |
>=sys-libs/zlib-1.2.11
|
34 |
|
dbus? ( dev-qt/qtdbus:5 )
|
|
30 |
virtual/libiconv
|
35 |
31 |
gui? (
|
36 |
32 |
dev-libs/geoip
|
37 |
|
dev-qt/qtgui:5
|
38 |
|
dev-qt/qtsvg:5
|
39 |
|
dev-qt/qtwidgets:5
|
|
33 |
!qt6? (
|
|
34 |
dev-qt/qtgui:5
|
|
35 |
dev-qt/qtsvg:5
|
|
36 |
dev-qt/qtwidgets:5
|
|
37 |
dbus? ( dev-qt/qtdbus:5 )
|
|
38 |
)
|
|
39 |
qt6? (
|
|
40 |
dev-qt/qtbase:6[dbus?,gui,widgets]
|
|
41 |
dev-qt/qtsvg:6
|
|
42 |
)
|
|
43 |
)
|
|
44 |
qt6? ( dev-qt/qtbase:6[network,ssl,sql,sqlite,xml(+)] )
|
|
45 |
!qt6? (
|
|
46 |
dev-qt/qtcore:5
|
|
47 |
dev-qt/qtnetwork:5[ssl]
|
|
48 |
dev-qt/qtsql:5[sqlite]
|
|
49 |
dev-qt/qtxml:5
|
40 |
50 |
)"
|
41 |
51 |
DEPEND="
|
42 |
52 |
${RDEPEND}
|
43 |
|
dev-libs/boost"
|
44 |
|
BDEPEND="dev-qt/linguist-tools:5
|
|
53 |
dev-libs/boost
|
|
54 |
test? (
|
|
55 |
!qt6? ( dev-qt/qttest:5 )
|
|
56 |
qt6? ( dev-qt/qtbase:6[test] )
|
|
57 |
)"
|
|
58 |
BDEPEND="
|
|
59 |
!qt6? ( dev-qt/linguist-tools:5 )
|
|
60 |
qt6? ( dev-qt/qttools:6[linguist] )
|
45 |
61 |
virtual/pkgconfig"
|
46 |
62 |
|
47 |
63 |
DOCS=( AUTHORS Changelog CONTRIBUTING.md README.md )
|
... | ... | |
55 |
71 |
}
|
56 |
72 |
|
57 |
73 |
src_configure() {
|
58 |
|
multibuild_src_configure() {
|
|
74 |
my_src_configure() {
|
59 |
75 |
local mycmakeargs=(
|
60 |
76 |
# musl lacks execinfo.h
|
61 |
77 |
-DSTACKTRACE=$(usex !elibc_musl)
|
... | ... | |
63 |
79 |
# More verbose build logs are preferable for bug reports
|
64 |
80 |
-DVERBOSE_CONFIGURE=ON
|
65 |
81 |
|
66 |
|
# Not yet in ::gentoo
|
67 |
|
-DQT6=OFF
|
|
82 |
-DQT6=$(usex qt6)
|
68 |
83 |
|
69 |
84 |
-DWEBUI=$(usex webui)
|
|
85 |
|
|
86 |
-DTESTING=$(usex test)
|
70 |
87 |
)
|
71 |
88 |
|
72 |
|
if [[ ${MULTIBUILD_VARIANT} == gui ]]; then
|
|
89 |
if [[ ${MULTIBUILD_VARIANT} == "gui" ]]; then
|
73 |
90 |
# We do this in multibuild, see bug #839531 for why.
|
74 |
91 |
# Fedora has to do the same thing.
|
75 |
92 |
mycmakeargs+=(
|
... | ... | |
91 |
108 |
cmake_src_configure
|
92 |
109 |
}
|
93 |
110 |
|
94 |
|
multibuild_foreach_variant multibuild_src_configure
|
|
111 |
multibuild_foreach_variant my_src_configure
|
95 |
112 |
}
|
96 |
113 |
|
97 |
114 |
src_compile() {
|
98 |
115 |
multibuild_foreach_variant cmake_src_compile
|
99 |
116 |
}
|
100 |
117 |
|
|
118 |
src_test() {
|
|
119 |
my_src_test() {
|
|
120 |
cd "${BUILD_DIR}"/test || die
|
|
121 |
edo ctest .
|
|
122 |
}
|
|
123 |
|
|
124 |
multibuild_foreach_variant my_src_test
|
|
125 |
}
|
|
126 |
|
101 |
127 |
src_install() {
|
102 |
128 |
multibuild_foreach_variant cmake_src_install
|
103 |
129 |
einstalldocs
|