net-p2p/transmission: add 4.1.0_beta3

Signed-off-by: Craig Andrews <candrews@gentoo.org>
This commit is contained in:
Craig Andrews
2025-11-06 13:11:36 -05:00
parent 43d08015d5
commit ea2ce5b6f7
3 changed files with 218 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
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
DIST transmission-4.1.0-beta.2+rac5c9e082d.tar.xz 11763168 BLAKE2B 644df56b1f1c25ff49825b7850b7d63d33d84a7b379dfeefd401c8a2f3d1ce0c9629f4defe7fad6af7e296b57a0bf997be6c405bd10fd730cd9a998c38e71251 SHA512 4c39cfd58ac7f94b38b869aeeddeb979ef6e42f106398885fde86f8c1de68a0ac8f172696d4dff2c1f8707614884552de8354da40c15a4e544c920c2eb63a4f0
DIST transmission-4.1.0-beta.3+rf20fd5e373.tar.xz 12636432 BLAKE2B 22c6751697d98036ff1f8943d0e5f428fc9884b3a2e70149da65d5db2a38039b412ee02a3bf5bd5ec1c79d5df5c9ff42e27a33534e48807662f9439d3f130fd6 SHA512 84fa9ddb0e1796b5098b2d12c7dc7cb783e17334425c041539340eaeb2de8bf7df42a82e0dac94836335d65bc113a21146321b488b60bc950a09ca62fc512011

View File

@@ -0,0 +1,59 @@
From https://github.com/transmission/transmission/pull/7631
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Thu, 26 Jun 2025 18:59:19 +0300
Subject: [PATCH 1/2] Generate imported targets for MbedTLS
This change allows to use MbedTLS 3.6 config module without significant
code alteration which simplifies integration with future versions of
MbedTLS.
Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -298,8 +298,7 @@ if(WITH_CRYPTO STREQUAL "AUTO" OR WITH_CRYPTO STREQUAL "mbedtls")
tr_fixup_list_option(WITH_CRYPTO "mbedtls" MBEDTLS_FOUND "AUTO" MBEDTLS_IS_REQUIRED)
if(WITH_CRYPTO STREQUAL "mbedtls")
set(CRYPTO_PKG "mbedtls")
- set(CRYPTO_INCLUDE_DIRS ${MBEDTLS_INCLUDE_DIRS})
- set(CRYPTO_LIBRARIES ${MBEDTLS_LIBRARIES})
+ set(CRYPTO_LIBRARIES MbedTLS::mbedtls MbedTLS::mbedcrypto)
endif()
endif()
--- a/cmake/FindMbedTLS.cmake
+++ b/cmake/FindMbedTLS.cmake
@@ -43,6 +43,22 @@ find_package_handle_standard_args(MbedTLS
MBEDTLS_INCLUDE_DIR
VERSION_VAR MBEDTLS_VERSION)
+if(MBEDTLS_LIBRARY AND NOT TARGET MbedTLS::mbedtls)
+ add_library(MbedTLS::mbedtls UNKNOWN IMPORTED)
+ set_target_properties(MbedTLS::mbedtls PROPERTIES
+ IMPORTED_LOCATION ${MBEDTLS_LIBRARY}
+ INTERFACE_INCLUDE_DIRECTORIES ${MBEDTLS_INCLUDE_DIR}
+ )
+endif()
+
+if(MBEDCRYPTO_LIBRARY AND NOT TARGET MbedTLS::mbedcrypto)
+ add_library(MbedTLS::mbedcrypto UNKNOWN IMPORTED)
+ set_target_properties(MbedTLS::mbedcrypto PROPERTIES
+ IMPORTED_LOCATION ${MBEDCRYPTO_LIBRARY}
+ INTERFACE_INCLUDE_DIRECTORIES ${MBEDTLS_INCLUDE_DIR}
+ )
+endif()
+
mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARY MBEDCRYPTO_LIBRARY)
if(MBEDTLS_PREFER_STATIC_LIB)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,7 +49,7 @@ set(GLIBMM_MINIMUM 2.60.0)
set(GTKMM3_MINIMUM 3.24.0)
set(GTKMM4_MINIMUM 4.11.1)
set(OPENSSL_MINIMUM 1.1.0)
-set(MBEDTLS_MINIMUM 1.3)
+set(MBEDTLS_MINIMUM 3.6)
set(NPM_MINIMUM 10.2.3) # Node.js 20.10 (eslint-plugin-unicorn)
set(PSL_MINIMUM 0.21.1)
set(QT_MINIMUM 5.6)

View File

@@ -0,0 +1,158 @@
# Copyright 2006-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_REMOVE_MODULES_LIST=( FindMbedTLS )
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}+rf20fd5e373"
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:3= )
net-libs/libnatpmp
>=net-libs/libpsl-0.21.1
>=net-libs/miniupnpc-1.7:=
>=net-misc/curl-7.28.0[ssl]
virtual/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-${PV}-mbedtls-3.patch"
)
src_prepare() {
# Avoid <cmake-4 compat in cmake.eclass
find third-party/{lib{event,natpmp,psl},rapidjson,utfcpp} -name CMakeLists.txt -delete || 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
}