diff options
author | 2023-10-16 23:29:57 +0300 | |
---|---|---|
committer | 2023-10-19 15:17:04 +0200 | |
commit | 73ce9e854e0ec71abf11e90aeac0354fa7f6473d (patch) | |
tree | 1ccf35b049f214fd96586c72eaf201eeba414017 /net-p2p | |
parent | acct-user/qbittorrent: new package, add 0 (diff) | |
download | gentoo-73ce9e854e0ec71abf11e90aeac0354fa7f6473d.tar.gz gentoo-73ce9e854e0ec71abf11e90aeac0354fa7f6473d.tar.bz2 gentoo-73ce9e854e0ec71abf11e90aeac0354fa7f6473d.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>
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/qbittorrent/Manifest | 1 | ||||
-rw-r--r-- | net-p2p/qbittorrent/files/qbittorrent.confd | 20 | ||||
-rw-r--r-- | net-p2p/qbittorrent/files/qbittorrent.initd | 27 | ||||
-rw-r--r-- | net-p2p/qbittorrent/metadata.xml | 24 | ||||
-rw-r--r-- | net-p2p/qbittorrent/qbittorrent-4.5.5.ebuild | 138 | ||||
-rw-r--r-- | net-p2p/qbittorrent/qbittorrent-9999.ebuild | 14 |
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}" } |