commit: 6ea381659ee7df5a7958ef24e00573f98f9a6189 Author: Thomas Bracht Laumann Jespersen <t <AT> laumann <DOT> xyz> AuthorDate: Fri Jan 30 13:44:18 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Feb 11 04:29:27 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ea38165
dev-libs/tlsh: add 4.12.1 Omits installing the tlsh_unittest binary in /usr/bin (that would also be symlinked as tlsh) as it should only be used for testing. Signed-off-by: Thomas Bracht Laumann Jespersen <t <AT> laumann.xyz> Part-of: https://codeberg.org/gentoo/gentoo/pulls/34 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/tlsh/Manifest | 1 + .../tlsh/files/tlsh-4.12.1-respect-flags.patch | 20 +++++++++++ dev-libs/tlsh/files/tlsh-4.12.1-tests.patch | 24 +++++++++++++ dev-libs/tlsh/tlsh-4.12.1.ebuild | 42 ++++++++++++++++++++++ 4 files changed, 87 insertions(+) diff --git a/dev-libs/tlsh/Manifest b/dev-libs/tlsh/Manifest index 2425a1db29ee..1b50a23d7963 100644 --- a/dev-libs/tlsh/Manifest +++ b/dev-libs/tlsh/Manifest @@ -1 +1,2 @@ +DIST tlsh-4.12.1.tar.gz 10243609 BLAKE2B 96095f897ff68e4e6c738b7df2d11963003b360db2354674803aa68e5b76f25b28cdf3ef9d376f046ab0a2b7663d1e4efe77f1ed6594c3e7692aef614b25c987 SHA512 82d6971baacdede7b4e4fd282d861d264e4ae196d1b5f3ea26648e93c0f0884b90bf9cab4dd1cc0f36fd00fb2e2ca3db8128769725a8858c5fcf48c192f33c45 DIST tlsh-4.8.2.tar.gz 3345458 BLAKE2B 27d5eece16bb36225b9ae8b3d3a9d055a0f214fffae08a58c39211c3d918dd842497315a62237b291ee1055dfadad78826bbd24f7b9d88f510e9a31f74654039 SHA512 5355c7734f5356a3a7a31ccc078254835871fc0369f1889a34131a0f810735201c68f674eb18e975b6a03a32e5c284899ca9ffdc1f583e42192188c172d2aad0 diff --git a/dev-libs/tlsh/files/tlsh-4.12.1-respect-flags.patch b/dev-libs/tlsh/files/tlsh-4.12.1-respect-flags.patch new file mode 100644 index 000000000000..f1ea53aca3b6 --- /dev/null +++ b/dev-libs/tlsh/files/tlsh-4.12.1-respect-flags.patch @@ -0,0 +1,20 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -132,7 +132,7 @@ else(CMAKE_BUILD_TYPE STREQUAL Debug) + if(MSVC) + set(CMAKE_CXX_FLAGS "/O2") ## Optimize + else(MSVS) +- set(CMAKE_CXX_FLAGS "-O3") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS") + endif() + endif(CMAKE_BUILD_TYPE STREQUAL Debug) + +@@ -147,7 +147,7 @@ endif() + if(CMAKE_COMPILER_IS_GNUCXX) + # issue #116 Library will not compile on CENTOS 7 + # set(CMAKE_EXE_LINKER_FLAGS "-static-libstdc++") +- set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc") + endif() + + # from https://stackoverflow.com/questions/5395309/how-do-i-force-cmake-to-include-pthread-option-during-compilation diff --git a/dev-libs/tlsh/files/tlsh-4.12.1-tests.patch b/dev-libs/tlsh/files/tlsh-4.12.1-tests.patch new file mode 100644 index 000000000000..d637d6970df5 --- /dev/null +++ b/dev-libs/tlsh/files/tlsh-4.12.1-tests.patch @@ -0,0 +1,24 @@ +--- a/Testing/test.sh ++++ b/Testing/test.sh +@@ -25,7 +25,7 @@ then + SIMP_PROG="../bin/simple_unittest$1" + echo "Scenario: $1 (c++ version)..." + else +- TLSH_PROG=../bin/tlsh ++ TLSH_PROG=../bin/tlsh_unittest + SIMP_PROG="../bin/simple_unittest" + echo "Scenario: tlsh (c++ standard version)..." + fi +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -91,10 +91,3 @@ target_link_libraries(tlsh_parts PRIVATE) + set_target_properties(tlsh_parts PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) + set_target_properties(tlsh_parts PROPERTIES OUTPUT_NAME tlsh_parts${BUILD_POSTFIX}) + set_target_properties(tlsh_parts PROPERTIES SKIP_BUILD_RPATH TRUE) +- +-file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +-# issue #115 - CREATE_LINK does not work on CENTOS 7 +-# file(CREATE_LINK tlsh_unittest ${CMAKE_SOURCE_DIR}/bin/tlsh SYMBOLIC) +- +-install(TARGETS tlsh_unittest DESTINATION bin) +-install(CODE "file(CREATE_LINK tlsh_unittest \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tlsh SYMBOLIC)") diff --git a/dev-libs/tlsh/tlsh-4.12.1.ebuild b/dev-libs/tlsh/tlsh-4.12.1.ebuild new file mode 100644 index 000000000000..9b57dc1cb085 --- /dev/null +++ b/dev-libs/tlsh/tlsh-4.12.1.ebuild @@ -0,0 +1,42 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_IN_SOURCE_BUILD=1 +inherit cmake toolchain-funcs flag-o-matic + +DESCRIPTION="Fuzzy matching library" +HOMEPAGE="https://github.com/trendmicro/tlsh" +SRC_URI="https://github.com/trendmicro/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 BSD )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +PATCHES=( + "${FILESDIR}"/${PN}-4.8.2-big-endian.patch + "${FILESDIR}"/${PN}-4.8.2-gnuinstalldirs.patch + "${FILESDIR}"/${P}-respect-flags.patch + "${FILESDIR}"/${P}-tests.patch +) + +src_prepare() { + # https://github.com/trendmicro/tlsh/issues/131 + [[ "$(tc-endian)" == "big" ]] && append-flags "-D__SPARC" + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DTLSH_CHECKSUM_1B=1 + -DTLSH_SHARED_LIBRARY=1 + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + find "${ED}" -name '*.a' -delete || die # Remove the static lib +}
