commit: b80df6f97bb984f15beee338a509a5fad18dd6f9 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Sun May 5 09:51:43 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Sun May 5 09:56:04 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b80df6f9
dev-python/simsimd: New package, v4.3.1 New optional dependency of dev-python/elasticsearch. Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/simsimd/Manifest | 1 + dev-python/simsimd/metadata.xml | 11 ++++++ dev-python/simsimd/simsimd-4.3.1.ebuild | 64 +++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest new file mode 100644 index 000000000000..f8e563bde92f --- /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 000000000000..2d9fde8689d5 --- /dev/null +++ b/dev-python/simsimd/metadata.xml @@ -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>[email protected]</email> + </maintainer> + <upstream> + <remote-id type="github">ashvardanian/SimSIMD</remote-id> + <remote-id type="pypi">simsimd</remote-id> + </upstream> +</pkgmetadata> 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 000000000000..ede8569c67d3 --- /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 +}
