commit:     ea2ce5b6f71840776ef548410ecb8a383f80d2f2
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  6 18:11:36 2025 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Thu Nov  6 18:11:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea2ce5b6

net-p2p/transmission: add 4.1.0_beta3

Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 net-p2p/transmission/Manifest                      |   1 +
 .../files/transmission-4.1.0_beta3-mbedtls-3.patch |  59 ++++++++
 .../transmission/transmission-4.1.0_beta3.ebuild   | 158 +++++++++++++++++++++
 3 files changed, 218 insertions(+)

diff --git a/net-p2p/transmission/Manifest b/net-p2p/transmission/Manifest
index 5b063287e1b5..c55da0d26a89 100644
--- a/net-p2p/transmission/Manifest
+++ b/net-p2p/transmission/Manifest
@@ -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

diff --git 
a/net-p2p/transmission/files/transmission-4.1.0_beta3-mbedtls-3.patch 
b/net-p2p/transmission/files/transmission-4.1.0_beta3-mbedtls-3.patch
new file mode 100644
index 000000000000..5d5135cfcfd1
--- /dev/null
+++ b/net-p2p/transmission/files/transmission-4.1.0_beta3-mbedtls-3.patch
@@ -0,0 +1,59 @@
+From https://github.com/transmission/transmission/pull/7631
+From: "Azamat H. Hackimov" <[email protected]>
+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 <[email protected]>
+--- 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)

diff --git a/net-p2p/transmission/transmission-4.1.0_beta3.ebuild 
b/net-p2p/transmission/transmission-4.1.0_beta3.ebuild
new file mode 100644
index 000000000000..f8d0c7f00262
--- /dev/null
+++ b/net-p2p/transmission/transmission-4.1.0_beta3.ebuild
@@ -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
+}

Reply via email to