diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest new file mode 100644 index 0000000000000..f8e563bde92f5 --- /dev/null +++ b/dev-python/simsimd/Manifest @@ -0,0 +1 @@ +DIST SimSIMD-4.3.1.gh.tar.gz 105424 BLAKE2B b5886261ad8290662325321816cf9e7eeb7059b58e3e2352f341345667393d4ee009a840061768666234ae2619bbd4c7522726a2efc4f60935309a393649fd22 SHA512 722a8ae473d4526130a0d80bd6074ba6cee7a2566414505b7db8cd4d63efade2470153e4364a9cff140780fc839264c7ccb6580983170d25ff3bbb4a00d78155 diff --git a/dev-python/simsimd/metadata.xml b/dev-python/simsimd/metadata.xml new file mode 100644 index 0000000000000..2d9fde8689d52 --- /dev/null +++ b/dev-python/simsimd/metadata.xml @@ -0,0 +1,11 @@ + + + + + python@gentoo.org + + + ashvardanian/SimSIMD + simsimd + + diff --git a/dev-python/simsimd/simsimd-4.3.1.ebuild b/dev-python/simsimd/simsimd-4.3.1.ebuild new file mode 100644 index 0000000000000..ede8569c67d3e --- /dev/null +++ b/dev-python/simsimd/simsimd-4.3.1.ebuild @@ -0,0 +1,64 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +inherit distutils-r1 toolchain-funcs + +MY_P=SimSIMD-${PV} +DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm" +HOMEPAGE=" + https://github.com/ashvardanian/SimSIMD/ + https://pypi.org/project/simsimd/ +" +# no sdist, as of 4.3.1 +# https://github.com/ashvardanian/SimSIMD/issues/113 +SRC_URI=" + https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="openmp" + +BDEPEND=" + test? ( + dev-python/pytest-repeat[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + fi +} + +src_prepare() { + # https://github.com/ashvardanian/SimSIMD/pull/115 + sed -i -e '/-O3/d' -e 's:-lgomp:-fopenmp:' setup.py || die + if ! use openmp; then + sed -i -e '/-fopenmp/d' setup.py || die + fi + + distutils-r1_src_prepare +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p repeat python/test.py +}