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 +}
