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

Reply via email to