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
+}

Reply via email to