summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-07-10 09:10:14 +0000
committerSam James <sam@gentoo.org>2024-07-10 10:20:53 +0100
commit0dd48a6c618b027df31c495c2351ef9b77fa1432 (patch)
tree0bf7d9466f546bef33e70dfee10cd58b6d24aae0 /dev-libs/tlsh
parentdev-ruby/rack-session: Stabilize 2.0.0 x86, #935799 (diff)
downloadgentoo-0dd48a6c618b027df31c495c2351ef9b77fa1432.tar.gz
gentoo-0dd48a6c618b027df31c495c2351ef9b77fa1432.tar.bz2
gentoo-0dd48a6c618b027df31c495c2351ef9b77fa1432.zip
dev-libs/tlsh: ensure symbol visibility on BE
[sam: Revbump to fix installed library.] Bug: https://bugs.gentoo.org/934445 Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> Closes: https://github.com/gentoo/gentoo/pull/37509 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/tlsh')
-rw-r--r--dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch15
-rw-r--r--dev-libs/tlsh/tlsh-4.8.2-r2.ebuild40
2 files changed, 55 insertions, 0 deletions
diff --git a/dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch b/dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch
new file mode 100644
index 000000000000..0c9b859f2a34
--- /dev/null
+++ b/dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch
@@ -0,0 +1,15 @@
+__SPARC is defined on big endian platforms to fix bug 861710, but upstream
+disables use of default linkage visibility on SPARC systems. This causes
+symbols to not be exported, causing issues such as bug 934445.
+
+--- tlsh-4.8.2/include/tlsh.h.old 2021-09-09 05:56:28.000000000 +0000
++++ tlsh-4.8.2/include/tlsh.h 2024-06-17 05:48:17.206665205 +0000
+@@ -110,7 +110,7 @@
+ // #include <WinFunctions.h>
+ #define TLSH_API
+ #else
+- #if defined(__SPARC) || defined(_AS_MK_OS_RH73)
++ #if defined(_AS_MK_OS_RH73)
+ #define TLSH_API
+ #else
+ #define TLSH_API __attribute__ ((visibility("default")))
diff --git a/dev-libs/tlsh/tlsh-4.8.2-r2.ebuild b/dev-libs/tlsh/tlsh-4.8.2-r2.ebuild
new file mode 100644
index 000000000000..a6fbd70ae4c4
--- /dev/null
+++ b/dev-libs/tlsh/tlsh-4.8.2-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 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 ~ia64 ~ppc ~ppc64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-big-endian.patch
+ "${FILESDIR}"/${P}-gnuinstalldirs.patch
+ "${FILESDIR}"/${P}-respect-flags.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
+}