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

Reply via email to