summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/qbittorrent')
-rw-r--r--net-p2p/qbittorrent/Manifest2
-rw-r--r--net-p2p/qbittorrent/qbittorrent-4.6.4.ebuild145
2 files changed, 147 insertions, 0 deletions
diff --git a/net-p2p/qbittorrent/Manifest b/net-p2p/qbittorrent/Manifest
index d04de6e6ece8..a3a8867cd88a 100644
--- a/net-p2p/qbittorrent/Manifest
+++ b/net-p2p/qbittorrent/Manifest
@@ -2,3 +2,5 @@ DIST qbittorrent-4.6.2.tar.xz 4506224 BLAKE2B 74c2fa8ffdb6e0787559e943dd6e2c4d09
DIST qbittorrent-4.6.2.tar.xz.asc 849 BLAKE2B 639dc8a75a926c9ec7ff42e52c93d33aa5494b6c64848778ad885d059c0272239c92fa935bcdab6477c4a20329d2c7538bdb9df5893a5e4264a604e264ed911e SHA512 ced33ae194a18c82c39318c07f160d5cc4a4f7ebebffb03cb16a555e4f277ad8d1305ec0e7c476bb51c5c50004501dbde6a729d05f1b557138414bab52ee21f9
DIST qbittorrent-4.6.3.tar.xz 4512004 BLAKE2B b97022d2380e4cc1c4fdd06e7365136978f64b3ed98a4521e34197dcfa86c6e4032e0f9f7de1310a100a924f9a5250b145236d87f28317c4a79fe5d130d858b6 SHA512 13a7952bc8d0e57c24fcfb00ab8c7e5a1fdcb9c4755cb50f7f6b94a5cb01657e3b21996ff581366d957eaa36d90e14003c544c2376150d6041f14f42c4a03adc
DIST qbittorrent-4.6.3.tar.xz.asc 849 BLAKE2B 34f61400fd340dd3770c600e57be36a434c5fcfed1d2d8ad9e050e7112a141f7aec3e6f94d3bcd7a893a7969344f6d7120aa908a3c8ed9451a475bd25a98a53a SHA512 0d2420be78fd66a7f1e0e8797f73fcbe462f08640adbc0c681f9321423eefb7805d3267ab144e8934f00a7ebeac0931f16c9fef199196e222b57a0153916696e
+DIST qbittorrent-4.6.4.tar.xz 4517896 BLAKE2B e2fc721b25e4a8983e8b481061de38a74f84ef32e1b791d658284607b9555791af67424a9a53985514906cd07e66807d4c9020e927ff5f30124af581c6ca2095 SHA512 2c3c364ea9dd11b7230a568036f599e5aeb0a7f2bbaa109cb04a706c88e693b4b4a9df7166227c453315ac9945e0f56066664c216c78111b5671bb798f618181
+DIST qbittorrent-4.6.4.tar.xz.asc 849 BLAKE2B 9eff44ee4bec81ee3064d8c8bccdf170144a4dc64c7bb56fb151a4effba5ba360190b7aeebbb284dc89ac888b82321457fd504cdddb6a722d57311cfb2c82f00 SHA512 817026a5695106a7f0a1ed60f221e52fb9c2244565d54ec43f21211dd3bffab89c8e02f2a71ff095e8a364dcfb44a13844af4d759a90d8133e7ef54021d2ab46
diff --git a/net-p2p/qbittorrent/qbittorrent-4.6.4.ebuild b/net-p2p/qbittorrent/qbittorrent-4.6.4.ebuild
new file mode 100644
index 000000000000..c52bd5d5331f
--- /dev/null
+++ b/net-p2p/qbittorrent/qbittorrent-4.6.4.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo multibuild 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="
+ mirror://sourceforge/qbittorrent/${P}.tar.xz
+ verify-sig? ( mirror://sourceforge/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"
+SLOT="0"
+IUSE="+dbus +gui qt6 systemd test webui"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( gui webui )
+ dbus? ( gui )
+"
+
+RDEPEND="
+ >=dev-libs/openssl-1.1.1:=
+ >=net-libs/libtorrent-rasterbar-1.2.19:=
+ >=sys-libs/zlib-1.2.11
+ qt6? ( >=dev-qt/qtbase-6.2:6[network,ssl,sql,sqlite,xml] )
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsql:5[sqlite]
+ dev-qt/qtxml:5
+ )
+ gui? (
+ !qt6? (
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dbus? ( dev-qt/qtdbus:5 )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.2:6[dbus?,gui,widgets]
+ >=dev-qt/qtsvg-6.2:6
+ )
+ )
+ webui? (
+ acct-group/qbittorrent
+ acct-user/qbittorrent
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/boost-1.71
+ test? (
+ !qt6? ( dev-qt/qttest:5 )
+ )"
+BDEPEND+="
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( >=dev-qt/qttools-6.2:6[linguist] )
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS Changelog CONTRIBUTING.md README.md )
+
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use gui && MULTIBUILD_VARIANTS+=( gui )
+ use webui && MULTIBUILD_VARIANTS+=( nogui )
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ # musl lacks execinfo.h
+ -DSTACKTRACE=$(usex !elibc_musl)
+ # More verbose build logs are preferable for bug reports
+ -DVERBOSE_CONFIGURE=ON
+ -DQT6=$(usex qt6)
+ -DWEBUI=$(usex webui)
+ -DTESTING=$(usex test)
+ )
+
+ if [[ ${MULTIBUILD_VARIANT} == "gui" ]]; then
+ # We do this in multibuild, see bug #839531 for why.
+ # Fedora has to do the same thing.
+ mycmakeargs+=(
+ -DGUI=ON
+ -DDBUS=$(usex dbus)
+ -DSYSTEMD=OFF
+ )
+ else
+ mycmakeargs+=(
+ -DGUI=OFF
+ -DDBUS=OFF
+ )
+
+ use systemd && mycmakeargs+=(
+ # The systemd service calls qbittorrent-nox, which is only
+ # installed 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
+ einstalldocs
+
+ if use webui; then
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ fi
+}