From 17ba1a9e252fd2fc081ba4a0cd1d3c1aae726a5f Mon Sep 17 00:00:00 2001 From: Jamie Getty Date: Tue, 4 Jan 2022 19:59:50 +1300 Subject: net-p2p/rtorrent: Remove dependency on screen for daemonising. Also update to EAPI8. econf now automatically passes --with-sysroot= which sets the macos-only -syslibroot so needs to be --sysroot on linux. Closes: https://github.com/gentoo/gentoo/pull/23645 Signed-off-by: Jamie Getty Signed-off-by: Jason Zaman --- net-p2p/rtorrent/files/rtorrent-r1.init | 16 ++++++ net-p2p/rtorrent/files/rtorrentd_at-r1.service | 17 +++++++ net-p2p/rtorrent/rtorrent-0.9.8-r1.ebuild | 70 ++++++++++++++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 net-p2p/rtorrent/files/rtorrent-r1.init create mode 100644 net-p2p/rtorrent/files/rtorrentd_at-r1.service create mode 100644 net-p2p/rtorrent/rtorrent-0.9.8-r1.ebuild (limited to 'net-p2p') diff --git a/net-p2p/rtorrent/files/rtorrent-r1.init b/net-p2p/rtorrent/files/rtorrent-r1.init new file mode 100644 index 000000000000..e16f262bfbe3 --- /dev/null +++ b/net-p2p/rtorrent/files/rtorrent-r1.init @@ -0,0 +1,16 @@ +#!/sbin/openrc-run +# Distributed under the terms of the GNU General Public License v2 + +description="rTorrent BitTorrent client" + +command="/usr/bin/rtorrent" +command_args="-o system.daemon.set=true" +command_background=true +command_user="${USER}" +pidfile="/run/rtorrent.pid" + +depend() +{ + use net ypbind nis + after slapd mysqld postgresql +} diff --git a/net-p2p/rtorrent/files/rtorrentd_at-r1.service b/net-p2p/rtorrent/files/rtorrentd_at-r1.service new file mode 100644 index 000000000000..bc9220353786 --- /dev/null +++ b/net-p2p/rtorrent/files/rtorrentd_at-r1.service @@ -0,0 +1,17 @@ +# This configuration file is taken from the Arch wiki. +# https://wiki.archlinux.org/title/RTorrent#Systemd_service_as_a_daemon_for_a_user + +[Unit] +Description=rTorrent for %i +After=network.target + +[Service] +Type=simple +User=%i +Group=%i +WorkingDirectory=/home/%i +# Modify the next line to the absolute path for rtorrent.lock, for example +ExecStartPre=-/bin/rm -f /home/%i/.session/rtorrent.lock +ExecStart=/usr/bin/rtorrent -o system.daemon.set=true +Restart=on-failure +RestartSec=3 diff --git a/net-p2p/rtorrent/rtorrent-0.9.8-r1.ebuild b/net-p2p/rtorrent/rtorrent-0.9.8-r1.ebuild new file mode 100644 index 000000000000..d0955a6839c0 --- /dev/null +++ b/net-p2p/rtorrent/rtorrent-0.9.8-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info systemd + +DESCRIPTION="BitTorrent Client using libtorrent" +HOMEPAGE="https://rakshasa.github.io/rtorrent/" +SRC_URI="http://rtorrent.net/downloads/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris" +IUSE="debug selinux test xmlrpc" +RESTRICT="!test? ( test )" + +COMMON_DEPEND="~net-libs/libtorrent-0.13.${PV##*.} + >=net-misc/curl-7.19.1 + sys-libs/ncurses:0= + xmlrpc? ( dev-libs/xmlrpc-c:= )" +RDEPEND="${COMMON_DEPEND} + selinux? ( sec-policy/selinux-rtorrent ) +" +DEPEND="${COMMON_DEPEND} + dev-util/cppunit + virtual/pkgconfig" + +DOCS=( doc/rtorrent.rc ) + +pkg_setup() { + if ! linux_config_exists || ! linux_chkconfig_present IPV6; then + ewarn "rtorrent will not start without IPv6 support in your kernel" + ewarn "without further configuration. Please set bind=0.0.0.0 or" + ewarn "similar in your rtorrent.rc" + ewarn "Upstream bug: https://github.com/rakshasa/rtorrent/issues/732" + fi +} + +src_prepare() { + default + + # https://github.com/rakshasa/rtorrent/issues/332 + cp "${FILESDIR}"/rtorrent.1 "${S}"/doc/ || die + + if [[ ${CHOST} != *-darwin* ]]; then + # syslibroot is only for macos, change to sysroot for others + sed -i 's/Wl,-syslibroot,/Wl,--sysroot,/' "${S}/scripts/common.m4" || die + fi + + eautoreconf +} + +src_configure() { + default + + # configure needs bash or script bombs out on some null shift, bug #291229 + CONFIG_SHELL=${BASH} econf \ + $(use_enable debug) \ + $(use_with xmlrpc xmlrpc-c) +} + +src_install() { + default + doman doc/rtorrent.1 + + newinitd "${FILESDIR}/rtorrent-r1.init" rtorrent + newconfd "${FILESDIR}/rtorrentd.conf" rtorrent + systemd_newunit "${FILESDIR}/rtorrentd_at-r1.service" "rtorrentd@.service" +} -- cgit v1.2.3-65-gdbad