diff --git a/metadata/md5-cache/net-p2p/qbittorrent-5.1.2 b/metadata/md5-cache/net-p2p/qbittorrent-5.1.2 new file mode 100644 index 0000000..78f2d3a --- /dev/null +++ b/metadata/md5-cache/net-p2p/qbittorrent-5.1.2 @@ -0,0 +1,18 @@ +BDEPEND=verify-sig? ( sec-keys/openpgp-keys-qbittorrent ) >=dev-qt/qttools-6.5:6[linguist] virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.20.5 virtual/pkgconfig verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 ) +DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack +DEPEND=>=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 ) >=dev-libs/boost-1.76 +DESCRIPTION=BitTorrent client in C++ and Qt +EAPI=8 +HOMEPAGE=https://www.qbittorrent.org +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=cmake edo multibuild optfeature systemd verify-sig xdg +IUSE=+dbus +gui test webui verify-sig +KEYWORDS=amd64 ~arm ~arm64 ~ppc64 ~riscv x86 +LICENSE=GPL-2+-with-openssl-exception GPL-3+-with-openssl-exception +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 ) +REQUIRED_USE=|| ( gui webui ) dbus? ( gui ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://downloads.sourceforge.net/qbittorrent/qbittorrent-5.1.2.tar.xz verify-sig? ( https://downloads.sourceforge.net/qbittorrent/qbittorrent-5.1.2.tar.xz.asc ) +_eclasses_=toolchain-funcs a0b29008c671a362b505f96fa80ce9c0 flag-o-matic a7afe42e95fb46ce9691605acfb24672 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 460729dc36f68cf03b044bc1d367e34a edo a5e294016aa84979fcb2459749eb80b2 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 optfeature 538bce96e5589935b57e178e8635f301 systemd a964c0cbe818b5729da1dbfcee5be861 eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 4e83419d7fb5d336f6a4de8193968319 xdg 3ef49a87c52c8b77c476351195dfe575 +_md5_=1c79aac6dc9aecb67be85380d7675bb5 diff --git a/net-p2p/qbittorrent/Manifest b/net-p2p/qbittorrent/Manifest new file mode 100644 index 0000000..8f9933d --- /dev/null +++ b/net-p2p/qbittorrent/Manifest @@ -0,0 +1,6 @@ +AUX qbittorrent.confd 494 BLAKE2B 862037a6237dd0104ca0717d8cfe1cced3b0e5d15d2629e33a78bfd2ea963a47a344246a2cda085357103762427bc1142d26c53b2a3df11cee9196030ce74407 SHA512 685e65344ed313ec24b8fad48fc9b5fcfcf6ca460fd3ac30861f27e6773ce9d74d45c68b5b21c804c95f5c69fb7139d192113eddea3a8359d43e47f696662846 +AUX qbittorrent.initd 911 BLAKE2B 6c776811d97d8eec38104e7fa4df6b3c80f1f50ea985c05e24034f636d73b9b0227ae34a6f4080bf25970cb0ee7ae4edd679bfb402c6d69eb59aa5b4f9c77f28 SHA512 1e1cd4d4163aeacf8c30fdd2b8842fd3565495d6ffa80189ad46a5e928c6bcb4eb30bf3c22fe14237f2e9e6b798680cab058d0a8bd7aa80e6e57a81f718b689c +DIST qbittorrent-5.1.2.tar.xz 4631900 BLAKE2B 5cf21619c29878f1cecc08d66df27289c8f8541fe03bc4593384394921ad13891fc89f5846a9828b927ea08b51c0123d17d02952fee0b5ddac6dd259a9b0030b SHA512 8817c0136892373257b4c89983121af1d2c33ab93b248678949775c3b0e5e6b299cefd1ad3c7ab9b88c56a618ee3837a984872f781bb4ace9769c92a42908cab +DIST qbittorrent-5.1.2.tar.xz.asc 849 BLAKE2B 2d023dd2dc922da973f26094349c2262e8f29227b615debc4a8f04c511bb513bfa56c0ac78e8e351e5b6c5f1a003c29d3a1860cd31e7d3dcbb006367b41e7d3e SHA512 69be899ed521da551ebcf0961c494ae828d2143fea9bc253f17ed81df61c4989124a8b231226c83c433314059e292ee3bf58422d861166eaa4272597bb8643c6 +EBUILD qbittorrent-5.1.2.ebuild 2856 BLAKE2B 215389d756e27e01626ce5975757cdd0a38bf55791c3c98369022a1904fa44899783e58368dc7fb0d59adefbb8d93c1379fb3d789522f59be0c6201baa2269fd SHA512 7231b4b515765431e603ff385ee7c85afa71b186dcc81efa1aaa121dfb0493892f499a992e14591b7869deb7bb84c69ce9f952c004a523c54c265a9ebb703930 +MISC metadata.xml 936 BLAKE2B ec39beee61a7aeb19eb0261553e4295aeb5c4283d3d66071b149db76df03c92e553c67d5f77103c385640cb79814ed3685b0f6c2dcf82422db2126df67ad02d3 SHA512 73171b7f2c43b7cb46d69b23431a47dd70e78bda1e7edea90cbd8da428dba2271df09745f68d0711dff2a10870e5c53ecf8d616f8c43bad4051584137f5dfb71 diff --git a/net-p2p/qbittorrent/files/qbittorrent.confd b/net-p2p/qbittorrent/files/qbittorrent.confd new file mode 100644 index 0000000..21e2e42 --- /dev/null +++ b/net-p2p/qbittorrent/files/qbittorrent.confd @@ -0,0 +1,20 @@ +# /etc/conf.d/qbittorrent: config file for /etc/init.d/qbittorrent + +# User and group as which to run +#QBITTORRENT_USER="qbittorrent" +#QBITTORRENT_GROUP="qbittorrent" + +# Directory where qBittorrent saves its logs (and maybe downloads) +#QBITTORRENT_DIRECTORY="/var/lib/qbittorrent" + +# umask used to create files +#QBITTORRENT_UMASK=0022 + +# I/O nice level of qBittorrent +#QBITTORRENT_IONICE=0 + +# Nice level of qBittorrent +#QBITTORRENT_NICE=0 + +# Extra opts given to qBittorrent +#QBITTORRENT_OPTS="" diff --git a/net-p2p/qbittorrent/files/qbittorrent.initd b/net-p2p/qbittorrent/files/qbittorrent.initd new file mode 100644 index 0000000..a04de6a --- /dev/null +++ b/net-p2p/qbittorrent/files/qbittorrent.initd @@ -0,0 +1,27 @@ +#!/sbin/openrc-run +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +QBITTORRENT_USER=${QBITTORRENT_USER:-qbittorrent} +QBITTORRENT_GROUP=${QBITTORRENT_GROUP:-qbittorrent} +QBITTORRENT_DIRECTORY=${QBITTORRENT_DIRECTORY:-/var/lib/qbittorrent} +QBITTORRENT_UMASK=${QBITTORRENT_UMASK:-0022} +QBITTORRENT_IONICE=${QBITTORRENT_IONICE:-0} +QBITTORRENT_NICE=${QBITTORRENT_NICE:-0} + +description="BitTorrent client in C++ and Qt" +command="/usr/bin/qbittorrent-nox" +command_args="${QBITTORRENT_OPTS}" +pidfile="/run/${RC_SVCNAME}.pid" +command_background="yes" +command_user="${QBITTORRENT_USER}:${QBITTORRENT_GROUP}" +umask="${QBITTORRENT_UMASK}" +start_stop_daemon_args="--ionice ${QBITTORRENT_IONICE} --nicelevel ${QBITTORRENT_NICE}" + +depend() { + need localmount net +} + +start_pre() { + checkpath -q -d -o ${QBITTORRENT_USER}:${QBITTORRENT_GROUP} ${QBITTORRENT_DIRECTORY} +} diff --git a/net-p2p/qbittorrent/metadata.xml b/net-p2p/qbittorrent/metadata.xml new file mode 100644 index 0000000..c404f9e --- /dev/null +++ b/net-p2p/qbittorrent/metadata.xml @@ -0,0 +1,24 @@ + + + + + eschwartz@gentoo.org + Eli Schwartz + + + fkobi@pm.me + Filip Kobierski + + + Enable support for notifications and power-management features via D-Bus + Install qBittorrent Web UI (qbittorrent-nox) + + + https://github.com/qbittorrent/qBittorrent/issues + https://www.qbittorrent.org/news + https://github.com/qbittorrent/qBittorrent/wiki + qbittorrent/qBittorrent + + + diff --git a/net-p2p/qbittorrent/qbittorrent-5.1.2.ebuild b/net-p2p/qbittorrent/qbittorrent-5.1.2.ebuild new file mode 100644 index 0000000..80f8bcc --- /dev/null +++ b/net-p2p/qbittorrent/qbittorrent-5.1.2.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 +}