dev-python/simsimd: New package, v4.3.1

New optional dependency of dev-python/elasticsearch.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2024-05-05 11:51:43 +02:00
parent 7029f2db22
commit b80df6f97b
3 changed files with 76 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST SimSIMD-4.3.1.gh.tar.gz 105424 BLAKE2B b5886261ad8290662325321816cf9e7eeb7059b58e3e2352f341345667393d4ee009a840061768666234ae2619bbd4c7522726a2efc4f60935309a393649fd22 SHA512 722a8ae473d4526130a0d80bd6074ba6cee7a2566414505b7db8cd4d63efade2470153e4364a9cff140780fc839264c7ccb6580983170d25ff3bbb4a00d78155

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">ashvardanian/SimSIMD</remote-id>
<remote-id type="pypi">simsimd</remote-id>
</upstream>
</pkgmetadata>

View File

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