commit: 26dcf899e09eb9e1a191f30ff1561d5a2622cb33 Author: Filip Kobierski <fkobi <AT> pm <DOT> me> AuthorDate: Sun Apr 20 15:57:46 2025 +0000 Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org> CommitDate: Sun May 25 18:17:12 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26dcf899
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 <AT> 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 <AT> gentoo.org> net-p2p/qbittorrent/Manifest | 2 + net-p2p/qbittorrent/qbittorrent-5.0.5.ebuild | 126 +++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/net-p2p/qbittorrent/Manifest b/net-p2p/qbittorrent/Manifest index bc2e972653bd..9bb41301441d 100644 --- a/net-p2p/qbittorrent/Manifest +++ b/net-p2p/qbittorrent/Manifest @@ -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 diff --git a/net-p2p/qbittorrent/qbittorrent-5.0.5.ebuild b/net-p2p/qbittorrent/qbittorrent-5.0.5.ebuild new file mode 100644 index 000000000000..a4af32da4fe5 --- /dev/null +++ b/net-p2p/qbittorrent/qbittorrent-5.0.5.ebuild @@ -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 +}
