commit: 0dd48a6c618b027df31c495c2351ef9b77fa1432 Author: A. Wilcox <AWilcox <AT> Wilcox-Tech <DOT> com> AuthorDate: Wed Jul 10 09:10:14 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jul 10 09:20:53 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dd48a6c
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 <AT> Wilcox-Tech.com> Closes: https://github.com/gentoo/gentoo/pull/37509 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch | 15 ++++++++++ dev-libs/tlsh/tlsh-4.8.2-r2.ebuild | 40 +++++++++++++++++++++++++ 2 files changed, 55 insertions(+) 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 +}
