summaryrefslogtreecommitdiff
path: root/dev-python/python-tlsh
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/python-tlsh')
-rw-r--r--dev-python/python-tlsh/Manifest1
-rw-r--r--dev-python/python-tlsh/files/python-tlsh-4.12.1-tlshmodule.patch11
-rw-r--r--dev-python/python-tlsh/files/python-tlsh-4.8.2-setup-sources.patch30
-rw-r--r--dev-python/python-tlsh/metadata.xml16
-rw-r--r--dev-python/python-tlsh/python-tlsh-4.12.1.ebuild38
5 files changed, 96 insertions, 0 deletions
diff --git a/dev-python/python-tlsh/Manifest b/dev-python/python-tlsh/Manifest
new file mode 100644
index 000000000000..e9869fed6d86
--- /dev/null
+++ b/dev-python/python-tlsh/Manifest
@@ -0,0 +1 @@
+DIST tlsh-4.12.1.gh.tar.gz 10243609 BLAKE2B 96095f897ff68e4e6c738b7df2d11963003b360db2354674803aa68e5b76f25b28cdf3ef9d376f046ab0a2b7663d1e4efe77f1ed6594c3e7692aef614b25c987 SHA512 82d6971baacdede7b4e4fd282d861d264e4ae196d1b5f3ea26648e93c0f0884b90bf9cab4dd1cc0f36fd00fb2e2ca3db8128769725a8858c5fcf48c192f33c45
diff --git a/dev-python/python-tlsh/files/python-tlsh-4.12.1-tlshmodule.patch b/dev-python/python-tlsh/files/python-tlsh-4.12.1-tlshmodule.patch
new file mode 100644
index 000000000000..3c134e0b5b7c
--- /dev/null
+++ b/dev-python/python-tlsh/files/python-tlsh-4.12.1-tlshmodule.patch
@@ -0,0 +1,11 @@
+--- a/tlshmodule.cpp
++++ b/tlshmodule.cpp
+@@ -59,7 +59,7 @@
+ #include <Python.h>
+ #include <new>
+ #include <bytesobject.h>
+-#include "tlsh.h"
++#include <tlsh/tlsh.h>
+
+ // to generate the "T1" hashes introduced in TLSH 4.0.0
+ // see 4.0.0 from 26/Mar/2020 at https://github.com/trendmicro/tlsh/blob/master/Change_History.md
diff --git a/dev-python/python-tlsh/files/python-tlsh-4.8.2-setup-sources.patch b/dev-python/python-tlsh/files/python-tlsh-4.8.2-setup-sources.patch
new file mode 100644
index 000000000000..4cdb0f864b5b
--- /dev/null
+++ b/dev-python/python-tlsh/files/python-tlsh-4.8.2-setup-sources.patch
@@ -0,0 +1,30 @@
+--- a/setup.py
++++ b/setup.py
+@@ -21,26 +21,7 @@ with open(join(realpath('..'), 'CMakeLists.txt'), 'r') as f:
+ if m:
+ tlsh_3b = ''
+
+-if os.name == 'nt':
+- tlsh_module = Extension('tlsh', \
+- sources = ['tlshmodule.cpp', \
+- join(realpath('..'), 'src', 'tlsh.cpp'), \
+- join(realpath('..'), 'src', 'tlsh_impl.cpp'), \
+- join(realpath('..'), 'src', 'tlsh_util.cpp') \
+- ], \
+- include_dirs = [join(realpath('..'), 'include'),
+- join(realpath('..'), 'Windows')],\
+- define_macros = [('WINDOWS', None),], \
+- )
+-else:
+- tlsh_module = Extension('tlsh', \
+- sources = ['tlshmodule.cpp', \
+- join(realpath('..'), 'src', 'tlsh.cpp'), \
+- join(realpath('..'), 'src', 'tlsh_impl.cpp'), \
+- join(realpath('..'), 'src', 'tlsh_util.cpp') \
+- ], \
+- include_dirs = [join(realpath('..'), 'include')],
+- )
++tlsh_module = Extension('tlsh', sources=['tlshmodule.cpp'], libraries=['tlsh'])
+
+ if tlsh_256 != '':
+ tlsh_module.extra_compile_args.append(tlsh_256)
diff --git a/dev-python/python-tlsh/metadata.xml b/dev-python/python-tlsh/metadata.xml
new file mode 100644
index 000000000000..1bb03887e81b
--- /dev/null
+++ b/dev-python/python-tlsh/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>t@laumann.xyz</email>
+ <name>Thomas Bracht Laumann Jespersen</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">trendmicro/tlsh</remote-id>
+ <remote-id type="pypi">python-tlsh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild b/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild
new file mode 100644
index 000000000000..a95da39e1135
--- /dev/null
+++ b/dev-python/python-tlsh/python-tlsh-4.12.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=tlsh-${PV}
+DESCRIPTION="Fuzzy matching library - C++ extension for Python"
+HOMEPAGE="
+ https://github.com/trendmicro/tlsh/
+ https://pypi.org/project/python-tlsh/
+"
+SRC_URI="
+ https://github.com/trendmicro/tlsh/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/py_ext
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+
+DEPEND="dev-libs/tlsh"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8.2-setup-sources.patch
+ "${FILESDIR}"/${P}-tlshmodule.patch
+)
+
+python_test() {
+ ../Testing/python_test.sh "${EPYTHON}" || die
+}