commit: 187551e267d72d7ba60557439452877602488776 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Wed Jan 14 22:14:59 2026 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Thu Jan 15 19:49:41 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=187551e2
net-proxy/trojan: Fix build w/ boost-1.89, fix CMake <3.10 warning Closes: https://bugs.gentoo.org/963419 Closes: https://bugs.gentoo.org/964571 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../trojan/files/trojan-1.16.0-boost-1.89.patch | 11 +++ .../files/trojan-1.16.0-cmake-minreqver-3.10.patch | 8 +++ net-proxy/trojan/trojan-1.16.0-r4.ebuild | 79 ++++++++++++++++++++++ 3 files changed, 98 insertions(+) diff --git a/net-proxy/trojan/files/trojan-1.16.0-boost-1.89.patch b/net-proxy/trojan/files/trojan-1.16.0-boost-1.89.patch new file mode 100644 index 000000000000..43f64cdb0095 --- /dev/null +++ b/net-proxy/trojan/files/trojan-1.16.0-boost-1.89.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,7 +36,7 @@ + find_package(Threads REQUIRED) + target_link_libraries(trojan ${CMAKE_THREAD_LIBS_INIT}) + +-find_package(Boost 1.66.0 REQUIRED COMPONENTS system program_options) ++find_package(Boost 1.69.0 REQUIRED COMPONENTS program_options) + include_directories(${Boost_INCLUDE_DIR}) + target_link_libraries(trojan ${Boost_LIBRARIES}) + if(MSVC) diff --git a/net-proxy/trojan/files/trojan-1.16.0-cmake-minreqver-3.10.patch b/net-proxy/trojan/files/trojan-1.16.0-cmake-minreqver-3.10.patch new file mode 100644 index 000000000000..077914d69b7a --- /dev/null +++ b/net-proxy/trojan/files/trojan-1.16.0-cmake-minreqver-3.10.patch @@ -0,0 +1,8 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.7.2) ++cmake_minimum_required(VERSION 3.10) + project(trojan CXX) + + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") diff --git a/net-proxy/trojan/trojan-1.16.0-r4.ebuild b/net-proxy/trojan/trojan-1.16.0-r4.ebuild new file mode 100644 index 000000000000..ae77997eac17 --- /dev/null +++ b/net-proxy/trojan/trojan-1.16.0-r4.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISABLE_AUTOFORMATTING=1 +FORCE_PRINT_ELOG=1 +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cmake python-any-r1 systemd readme.gentoo-r1 +DESCRIPTION="An unidentifiable mechanism that helps you bypass GFW" +HOMEPAGE="https://github.com/trojan-gfw/trojan" +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/trojan-gfw/trojan.git" +else + SRC_URI="https://github.com/trojan-gfw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="mysql +nat +reuseport tcpfastopen test" + +# Some hiccups setting up local network server. +RESTRICT="test" + +RDEPEND=" + dev-libs/boost:= + dev-libs/openssl:0= + mysql? ( dev-db/mysql-connector-c:= ) +" +DEPEND="${RDEPEND} + acct-group/trojan + acct-user/trojan + test? ( net-misc/curl ${PYTHON_DEPS} ) +" + +PATCHES=( + "${FILESDIR}/${P}-cmake-minreqver-3.10.patch" # bug 964571 + "${FILESDIR}/${P}-boost-1.89.patch" # bug 963419 +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + sed -i -e "/User/s/nobody/trojan/g" \ + examples/trojan.service-example || die +} + +src_configure() { + local mycmakeargs=( + -DENABLE_MYSQL=$(usex mysql) + -DENABLE_NAT=$(usex nat) + -DENABLE_REUSE_PORT=$(usex reuseport) + -DFORCE_TCP_FASTOPEN=$(usex tcpfastopen) + -DSYSTEMD_SERVICE=ON + -DSYSTEMD_SERVICE_PATH=$(systemd_get_systemunitdir) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + newinitd "${FILESDIR}/trojan.initd" trojan + + readme.gentoo_create_doc +} + +src_test() { + cmake_src_test -j1 +} + +pkg_postinst() { + readme.gentoo_print_elog +}
