net-p2p/qbittorrent: add 5.0.5 with improvements

- remove USE=systemd since it was just for installing files
- sort RDEPEND
- bump libtorrent-rasterbar version due to the drop of :1 (see below)
- make MULTIBUILD_VARIANTS assignment declarative & move it
  to src_configure
- sort mycmakeargs & change comment style
- improve multibuild logic comment

qbittorrent supports both 1.x and 2.x series of libtorrent-rasterbar.
We couldn't reflect that by using `||` as it doesn't support `:=`.
The solution was to define a minimum 1.x version so it was at least
halfway right. 1.x series was dropped from ::gentoo so I have
changed the minimum version to 2.x, making it fully correct.

Signed-off-by: Filip Kobierski <fkobi@pm.me>
Part-of: https://github.com/gentoo/gentoo/pull/41675
Closes: https://github.com/gentoo/gentoo/pull/41675
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
This commit is contained in:
Filip Kobierski
2025-04-20 17:57:46 +02:00
committed by Eli Schwartz
parent cc1a0eb8d4
commit 26dcf899e0
2 changed files with 128 additions and 0 deletions

View File

@@ -2,3 +2,5 @@ DIST qbittorrent-5.0.3.tar.xz 4548636 BLAKE2B 8aa605fc0815486d5a2df8dc7f9478cdc1
DIST qbittorrent-5.0.3.tar.xz.asc 849 BLAKE2B 1fab6ee6dd98f0cb401f8e5e2dd6e7167ddc3e5f457dde34d25cfb8d81e471ed36fb8511981e87cef5f8d5fac4b8a1460fc59a6f708c0e4ffccda997054af675 SHA512 4d3406108e78d299d8115b7170ed7e337c01f88158b81c259116e01173ce0e9e3870c23e4dde421da1132c41aeb35786ce6c77a1261a61426914a5f1780589e3
DIST qbittorrent-5.0.4.tar.xz 4555524 BLAKE2B d9351c99078a400dbbe5f6e3fce44d552336d44e6bf3ee576cb1244952d9a52d499c7fd7d5bb828f5d9963e5da1ccd0c30e114e7f6efae521c3c67f3f259ed3f SHA512 6d026c1dc5fdee81b15d1cc542626a459650bbb2340d4774cabcdfc3feed4294f92c556d6d2f26009ccc4492d181d6d553cb6cb6fa5a1123650434dcc6b8cb65
DIST qbittorrent-5.0.4.tar.xz.asc 849 BLAKE2B 9f41ededb1af2580b43aaf6402beb95094325686a7898d75579b5c1a92ef09d0822a6d2468d01e2248923784b97a2bc6e0c4341eef6d2444df935aaea2315215 SHA512 ad2d3647080b69579d898f0aea1666f9ae54df911137ce7477caa89c940e3f8963470c76ab60ef6e43072a1116627a36fae9e9fdf0018b5b02e5edb476143e7b
DIST qbittorrent-5.0.5.tar.xz 4561340 BLAKE2B 445f47b689c0166b2a16bbf35bcfaada4d35fd95f9bbb12cbbe1546fdc18d637df5cc571d73d29a311c19ec312c02126de6433508750aa02aad7be7846717dea SHA512 bb6c75d317bbb01929e874acee98b56ac5c8ab91a331f792227c8df3de08f2b10ed815ec480d8a76b5721f0fba5cbed36dfe37423ee24c5868539eaf91c579ea
DIST qbittorrent-5.0.5.tar.xz.asc 849 BLAKE2B 56f913de4bc8a6138621b4a38132e791be70aa8449371977aa08aad2b401c5729870f76977382f83b9d5a6c82b02facffc7ab261ad23d3486c8c320564b9828f SHA512 d74abaa1914bbc2aee358c801d6f9ce04c2a79a3ac1c9eb9715681c728060c9786e33315583f38cee219f3398dff399e12a2b62aba63437bbe4659590839de88

View File

@@ -0,0 +1,126 @@
# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake edo multibuild optfeature systemd verify-sig xdg
DESCRIPTION="BitTorrent client in C++ and Qt"
HOMEPAGE="https://www.qbittorrent.org"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/qbittorrent/qBittorrent.git"
inherit git-r3
else
SRC_URI="
https://downloads.sourceforge.net/qbittorrent/${P}.tar.xz
verify-sig? ( https://downloads.sourceforge.net/qbittorrent/${P}.tar.xz.asc )
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-qbittorrent )"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/qBittorrent.asc
fi
LICENSE="GPL-2+-with-openssl-exception GPL-3+-with-openssl-exception"
SLOT="0"
IUSE="+dbus +gui test webui"
RESTRICT="!test? ( test )"
REQUIRED_USE="
|| ( gui webui )
dbus? ( gui )
"
RDEPEND="
>=dev-libs/openssl-3.0.2:=
>=dev-qt/qtbase-6.5:6[network,ssl,sql,sqlite,xml]
>=net-libs/libtorrent-rasterbar-2.0.10:=
>=sys-libs/zlib-1.2.11
gui? (
>=dev-qt/qtbase-6.5:6[dbus?,gui,widgets]
>=dev-qt/qtsvg-6.5:6
)
webui? (
acct-group/qbittorrent
acct-user/qbittorrent
)
"
DEPEND="
${RDEPEND}
>=dev-libs/boost-1.76
"
BDEPEND+="
>=dev-qt/qttools-6.5:6[linguist]
virtual/pkgconfig
"
DOCS=( AUTHORS Changelog {CONTRIBUTING,README}.md )
src_configure() {
MULTIBUILD_VARIANTS=(
$(usev gui)
$(usev webui nogui)
)
my_src_configure() {
local mycmakeargs=(
-DVERBOSE_CONFIGURE=ON # for bug reports
-DSTACKTRACE=$(usex !elibc_musl) # musl lacks execinfo.h
-DTESTING=$(usex test)
-DWEBUI=$(usex webui)
)
# upstream supports building just gui or nogui
# so we build the project twice (see #839531 for details)
# Fedora does the same: https://src.fedoraproject.org/rpms/qbittorrent
if [[ ${MULTIBUILD_VARIANT} == "gui" ]]; then
mycmakeargs+=(
-DGUI=ON
-DDBUS=$(usex dbus)
-DSYSTEMD=OFF
)
else
mycmakeargs+=(
-DGUI=OFF
-DDBUS=OFF
# The systemd service calls qbittorrent-nox, built only when GUI=OFF.
-DSYSTEMD=ON
-DSYSTEMD_SERVICES_INSTALL_DIR="$(systemd_get_systemunitdir)"
)
fi
cmake_src_configure
}
multibuild_foreach_variant my_src_configure
}
src_compile() {
multibuild_foreach_variant cmake_src_compile
}
src_test() {
my_src_test() {
# cmake does not detect tests by default, if you use enable_testing
# in a subdirectory instead of the root CMakeLists.txt
cd "${BUILD_DIR}"/test || die
edo ctest .
}
multibuild_foreach_variant my_src_test
}
src_install() {
multibuild_foreach_variant cmake_src_install
if use webui; then
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
fi
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "I2P anonymyzing network support" net-vpn/i2pd net-vpn/i2p
}