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>
This commit is contained in:
A. Wilcox
2024-07-10 09:10:14 +00:00
committed by Sam James
parent e3f1c8894d
commit 0dd48a6c61
2 changed files with 55 additions and 0 deletions

View File

@@ -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")))

View File

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