net-p2p/transmission: restore 4.0.5

Bug: https://bugs.gentoo.org/958253
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
This commit is contained in:
Mike Gilbert
2025-06-16 15:21:25 -04:00
parent 64d820406a
commit 8c69f9ebde
2 changed files with 165 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST transmission-4.0.5.tar.xz 9745756 BLAKE2B 60caa3bc615137b225d3ac3f25daa352c6960fcc848c91e5ea45488ae109d93b53e314e4683bd7c4ef3f9b2f364d796b6c5bb014ca647d3f44fb5c9df9f8c997 SHA512 9d3df965929ba18aa8186f89060aeacc8ead3df4a5acdc74a005dc62deadc5fa239af99c49ca2477cc5c1adfcd834481105f1dbc94e0efe210e9e6680bfec124
DIST transmission-4.0.6-gentoo.tar.xz 9657544 BLAKE2B 9406b01aeea44ba49339cb016ae92840e25e246fd3c8542ae623c89912f4df467abb676193d85b5bb16fddba41c8bc9924e5d17bbe0a475cadfd7ee56173f2c3 SHA512 5eec412df7fe0dcd0c232914783a0289bc30865d4490a939259e6f36367a37c6bc37c4bcf59cfe2695699c5ea6dd1cf4a830e2311fb45178372a9e9d0c70095c

View File

@@ -0,0 +1,164 @@
# Copyright 2006-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic tmpfiles systemd xdg-utils
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/transmission/transmission"
else
MY_PV="${PV/_beta/-beta.}"
MY_P="${PN}-${MY_PV}"
S="${WORKDIR}/${MY_P}"
SRC_URI="https://github.com/transmission/transmission/releases/download/${MY_PV}/${MY_P}.tar.xz"
KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 ~riscv x86"
fi
DESCRIPTION="A fast, easy, and free BitTorrent client"
HOMEPAGE="https://transmissionbt.com/"
# web/LICENSE is always GPL-2 whereas COPYING allows either GPL-2 or GPL-3 for the rest
# transmission in licenses/ is for mentioning OpenSSL linking exception
# MIT is in several libtransmission/ headers
LICENSE="|| ( GPL-2 GPL-3 Transmission-OpenSSL-exception ) GPL-2 MIT"
SLOT="0"
IUSE="appindicator cli debug gtk nls mbedtls qt6 systemd test"
RESTRICT="!test? ( test )"
ACCT_DEPEND="
acct-group/transmission
acct-user/transmission
"
BDEPEND="
virtual/pkgconfig
nls? (
gtk? ( sys-devel/gettext )
)
qt6? ( dev-qt/qttools:6[linguist] )
"
COMMON_DEPEND="
app-arch/libdeflate:=[gzip(+)]
>=dev-libs/libevent-2.1.0:=[threads(+)]
!mbedtls? ( dev-libs/openssl:0= )
mbedtls? ( net-libs/mbedtls:0= )
net-libs/libnatpmp
>=net-libs/libpsl-0.21.1
>=net-libs/miniupnpc-1.7:=
>=net-misc/curl-7.28.0[ssl]
sys-libs/zlib:=
nls? ( virtual/libintl )
gtk? (
>=dev-cpp/gtkmm-4.11.1:4.0
>=dev-cpp/glibmm-2.60.0:2.68
appindicator? ( dev-libs/libayatana-appindicator )
)
qt6? (
dev-qt/qtbase:6[dbus,gui,network,widgets]
dev-qt/qtsvg:6
)
systemd? ( >=sys-apps/systemd-209:= )
"
DEPEND="${COMMON_DEPEND}
nls? ( virtual/libintl )
"
RDEPEND="${COMMON_DEPEND}
${ACCT_DEPEND}
"
PATCHES=(
"${FILESDIR}/transmission-4.0.6-miniupnpc-2.2.8.patch"
)
src_prepare() {
# Remove files which trigger <cmake-4 compat in cmake.eclass
rm -r third-party/{lib{deflate,event,natpmp,psl},miniupnpc} || die
rm third-party/utfcpp/CMakeLists.txt || die
rm third-party/utfcpp/extern/ftest/tests/CMakeLists.txt || die
cd third-party/dht || die
eapply "${FILESDIR}"/transmission-4.0.6-dht-cmake-4.patch
cd "${S}" || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
-DENABLE_GTK=$(usex gtk ON OFF)
-DENABLE_MAC=OFF
-DREBUILD_WEB=OFF
-DENABLE_CLI=$(usex cli ON OFF)
-DENABLE_TESTS=$(usex test ON OFF)
-DENABLE_NLS=$(usex nls ON OFF)
-DRUN_CLANG_TIDY=OFF
-DUSE_GTK_VERSION=4
-DUSE_SYSTEM_EVENT2=ON
-DUSE_SYSTEM_DEFLATE=ON
-DUSE_SYSTEM_DHT=OFF
-DUSE_SYSTEM_MINIUPNPC=ON
-DUSE_SYSTEM_NATPMP=ON
-DUSE_SYSTEM_UTP=OFF
-DUSE_SYSTEM_B64=OFF
-DUSE_SYSTEM_PSL=ON
-DWITH_CRYPTO=$(usex mbedtls mbedtls openssl)
-DWITH_INOTIFY=ON
-DWITH_APPINDICATOR=$(usex appindicator ON OFF)
-DWITH_SYSTEMD=$(usex systemd ON OFF)
)
if use qt6; then
mycmakeargs+=( -DENABLE_QT=ON -DUSE_QT_VERSION=6 )
else
mycmakeargs+=( -DENABLE_QT=OFF )
fi
# Disable assertions by default, bug 893870.
use debug || append-cppflags -DNDEBUG
cmake_src_configure
}
src_test() {
# https://github.com/transmission/transmission/issues/4763
cmake_src_test -E DhtTest.usesBootstrapFile
}
src_install() {
cmake_src_install
newinitd "${FILESDIR}"/transmission-daemon.initd.10 transmission-daemon
newconfd "${FILESDIR}"/transmission-daemon.confd.4 transmission-daemon
if use systemd; then
# Service sets Type=notify
systemd_dounit daemon/transmission-daemon.service
systemd_install_serviced "${FILESDIR}"/transmission-daemon.service.conf
fi
insinto /usr/lib/sysctl.d
doins "${FILESDIR}"/60-transmission.conf
newtmpfiles "${FILESDIR}"/transmission-daemon.tmpfiles transmission-daemon.conf
}
pkg_postrm() {
if use gtk || use qt6; then
xdg_desktop_database_update
xdg_icon_cache_update
fi
}
pkg_postinst() {
if use gtk || use qt6; then
xdg_desktop_database_update
xdg_icon_cache_update
fi
tmpfiles_process transmission-daemon.conf
}