summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Lunev <cheembox573@gmail.com>2023-10-16 23:29:57 +0300
committerFlorian Schmaus <flow@gentoo.org>2023-10-19 15:17:04 +0200
commit73ce9e854e0ec71abf11e90aeac0354fa7f6473d (patch)
tree1ccf35b049f214fd96586c72eaf201eeba414017
parentacct-user/qbittorrent: new package, add 0 (diff)
downloadgentoo-73ce9e85.tar.gz
gentoo-73ce9e85.tar.bz2
gentoo-73ce9e85.zip
net-p2p/qbittorrent: bump to 4.5.5, add openrc service & qt6
Closes: https://bugs.gentoo.org/914197 Closes: https://github.com/gentoo/gentoo/pull/33365 Signed-off-by: Alexey Lunev <cheembox573@gmail.com> Signed-off-by: Florian Schmaus <flow@gentoo.org>
-rw-r--r--net-p2p/qbittorrent/Manifest1
-rw-r--r--net-p2p/qbittorrent/files/qbittorrent.confd20
-rw-r--r--net-p2p/qbittorrent/files/qbittorrent.initd27
-rw-r--r--net-p2p/qbittorrent/metadata.xml24
-rw-r--r--net-p2p/qbittorrent/qbittorrent-4.5.5.ebuild138
-rw-r--r--net-p2p/qbittorrent/qbittorrent-9999.ebuild14
6 files changed, 213 insertions, 11 deletions
diff --git a/net-p2p/qbittorrent/Manifest b/net-p2p/qbittorrent/Manifest
index 6fd98e73cd6e..a71b8e8e1eaf 100644
--- a/net-p2p/qbittorrent/Manifest
+++ b/net-p2p/qbittorrent/Manifest
@@ -1,2 +1,3 @@
DIST qbittorrent-4.5.2.tar.gz 8890525 BLAKE2B 48585b703ce6edf862ea3c8cfad6cab2edcb65a138c6e8d232322b4f4fd682c87447ff11d29c04c26b5623e730ab9a1ce0496456b3ba6122f97913bd92b86790 SHA512 e900a1c5f0f70163463557aec3de0d31394fac56cfed91ea53ee5cf852cce4b2998bf79be60fc547c1c34a1658378f3ed9dbfb30aae5a772b85d819c7e7ce458
DIST qbittorrent-4.5.4.tar.gz 8791236 BLAKE2B 70b3194d6c4819655998406e0a13d22f3a5068e724048010daebd83d8b8db9e17daee943ca8dabaacd92a0fbc5249257de6d175b35287c748dc2d15395bd71fc SHA512 2e7988922137c9fade99e90236cc0c5b8b30f09021472f8ffc9048a7a2d989925eed7bfab4d79c93ca7d0f21acfde2e7feee5e6c43b557bf2c6f472fd52fbcea
+DIST qbittorrent-4.5.5.tar.gz 8802492 BLAKE2B 1d20d7900b5b65603c5cf13452fb5aebe396473290d4904641b78867c5345d783482c46edc7042a2e86e79afd790e8c470df62131595eba288f195cc5e716eec SHA512 8b5c2654b3bc03c0b4de77e8388ee543c3892ef9453749ea737aaee999a16d50bd1b30ebe0519a86d7ab8ffc6224d7d9cf678464aebf96433cd71dd57b46dd53
diff --git a/net-p2p/qbittorrent/files/qbittorrent.confd b/net-p2p/qbittorrent/files/qbittorrent.confd
new file mode 100644
index 000000000000..21e2e4200fef
--- /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 000000000000..7f800e640e76
--- /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_USER}"
+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
index 7cd55c83f828..14e773c514d6 100644
--- a/net-p2p/qbittorrent/metadata.xml
+++ b/net-p2p/qbittorrent/metadata.xml
@@ -1,12 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="webui">Enable the Web UI</flag>
- </use>
- <upstream>
- <remote-id type="github">qbittorrent/qBittorrent</remote-id>
- <remote-id type="sourceforge">qbittorrent</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>cheembox573@gmail.com</email>
+ <name>Alexey Lunev</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="webui">
+ Install qBittorrent Web UI (qbittorrent-nox) and systemd/OpenRC service
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">qbittorrent/qBittorrent</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-p2p/qbittorrent/qbittorrent-4.5.5.ebuild b/net-p2p/qbittorrent/qbittorrent-4.5.5.ebuild
new file mode 100644
index 000000000000..9ff0a380b472
--- /dev/null
+++ b/net-p2p/qbittorrent/qbittorrent-4.5.5.ebuild
@@ -0,0 +1,138 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo multibuild systemd 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://github.com/qbittorrent/qBittorrent/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+ S="${WORKDIR}"/qBittorrent-release-${PV}
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+dbus +gui qt6 test webui systemd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( gui webui )"
+
+RDEPEND="
+ >=dev-libs/openssl-1.1.1:=
+ >=net-libs/libtorrent-rasterbar-1.2.18:=
+ >=sys-libs/zlib-1.2.11
+ virtual/libiconv
+ gui? (
+ dev-libs/geoip
+ !qt6? (
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dbus? ( dev-qt/qtdbus:5 )
+ )
+ qt6? (
+ dev-qt/qtbase:6[dbus?,gui,widgets]
+ dev-qt/qtsvg:6
+ )
+ )
+ qt6? ( dev-qt/qtbase: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
+ )
+ acct-group/qbittorrent
+ acct-user/qbittorrent"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost
+ test? (
+ !qt6? ( dev-qt/qttest:5 )
+ qt6? ( dev-qt/qtbase:6[test] )
+ )"
+BDEPEND="
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools: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() {
+ cd "${BUILD_DIR}"/test || die
+ edo ctest .
+ }
+
+ multibuild_foreach_variant my_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+ einstalldocs
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+}
diff --git a/net-p2p/qbittorrent/qbittorrent-9999.ebuild b/net-p2p/qbittorrent/qbittorrent-9999.ebuild
index eeba63e2c817..9ff0a380b472 100644
--- a/net-p2p/qbittorrent/qbittorrent-9999.ebuild
+++ b/net-p2p/qbittorrent/qbittorrent-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ fi
LICENSE="GPL-2"
SLOT="0"
-IUSE="+dbus +gui qt6 test webui"
+IUSE="+dbus +gui qt6 test webui systemd"
RESTRICT="!test? ( test )"
REQUIRED_USE="|| ( gui webui )"
@@ -47,7 +47,9 @@ RDEPEND="
dev-qt/qtnetwork:5[ssl]
dev-qt/qtsql:5[sqlite]
dev-qt/qtxml:5
- )"
+ )
+ acct-group/qbittorrent
+ acct-user/qbittorrent"
DEPEND="
${RDEPEND}
dev-libs/boost
@@ -98,6 +100,9 @@ src_configure() {
mycmakeargs+=(
-DGUI=OFF
-DDBUS=OFF
+ )
+
+ use systemd && mycmakeargs+=(
# The systemd service calls qbittorrent-nox, which is only
# installed when GUI=OFF.
-DSYSTEMD=ON
@@ -127,4 +132,7 @@ src_test() {
src_install() {
multibuild_foreach_variant cmake_src_install
einstalldocs
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
}