Package Details: simsimd 6.5.16-1

Git Clone URL: https://aur.archlinux.org/simsimd.git (read-only, click to copy)
Package Base: simsimd
Description: Up to 200x faster dot products and similarity metrics.
Upstream URL: https://github.com/ashvardanian/NumKong
Licenses: Apache-2.0
Submitter: Spixmaster
Maintainer: aarto
Last Packager: aarto
Votes: 1
Popularity: 0.020873
First Submitted: 2024-11-01 18:23 (UTC)
Last Updated: 2026-04-07 14:47 (UTC)

Dependencies (2)

Required by (2)

Sources (1)

Latest Comments

aarto commented on 2026-04-08 17:12 (UTC)

hi gyscos, thanks for taking the time to post your message, I was eventually able to update the package as well as create a new one for NumKong.

hopefully turso will also update to that one as it is already available on crates.io

gyscos commented on 2026-04-07 13:58 (UTC) (edited on 2026-04-07 15:06 (UTC) by gyscos)

Not sure what changed, but this package currently fails the source checksum.

The archive downloaded from github currently has a b2sum hash of 5a774fdc11e8eb038177eab2ed3fa460556a7e8b138c91681453e75546234d49072e1801daaf47f4ac4e44514abe68177846643250d6a46914da08cb174acde5, which differs from the PKGBUILD.

I think github might sometimes re-generate the archive, leading to some minor difference? (Or it could be a supply chain attack! who knows?).

On the release page https://github.com/ashvardanian/NumKong/releases/tag/v6.5.15, it says it was last updated March 4th, so maybe it's really just github randomly making archives non-reproducible? Sounds fun.

EDIT: Also just realized that the project was renamed to NumKong? Maybe it could explain the change? Answer: yes, the archive content did change, and renamed everything to NumKong. Changing _pkgname to NumKong (and updating the checksum) makes the package build again.

diff --git a/PKGBUILD b/PKGBUILD
index dddc51c..dcb7538 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: aarto <aarto@aur.archlinux.org>
 # Contributor: Matheus <matheusgwdl@protonmail.com>

-readonly _pkgname=SimSIMD
+readonly _pkgname=NumKong

 pkgname=simsimd
 pkgver=6.5.15
@@ -12,7 +12,7 @@ url=https://github.com/ashvardanian/simsimd
 license=('Apache-2.0')
 makedepends=(cmake)
 source=("$pkgname-v$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
-b2sums=('afd9e2d85048c0039fc6cede5dee98a813d57aa514d3bb804a00c7b767f79c58c6398ed259036b5c3ec7ba69f1255e76fd062835704e72cb37a09be748cf61ba')
+b2sums=('5a774fdc11e8eb038177eab2ed3fa460556a7e8b138c91681453e75546234d49072e1801daaf47f4ac4e44514abe68177846643250d6a46914da08cb174acde5')

 build() {
     local build_tests=OFF

EDIT2: Thanks for the quick update!

aarto commented on 2026-01-06 21:57 (UTC)

Nice catch @gyscos, fixed!

gyscos commented on 2026-01-06 18:42 (UTC) (edited on 2026-01-06 18:57 (UTC) by gyscos)

Hi! It seems that this package installs libsimsimd.so into /usr/local/lib. Apparently that's cmake's default behaviour, but it is unusual for a package to install libs there - in particular, it is not by default in the lib search path, so will not be picked up.

Is it on purpose? If not, could the cmake command be modified to install the lib in /usr/lib like other packages? This is recommended in the cmake package guideline: https://wiki.archlinux.org/title/CMake_package_guidelines#Prefix_and_library_install_directories

It looks like the CMAKE_INSTALL_PREFIX var just needs to be set to /usr in the cmake command:

diff --git a/PKGBUILD b/PKGBUILD
index 8903f81..11cfe0b 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,6 +19,7 @@ build() {
     check_option check y || build_tests=ON

     cmake -B "$srcdir/$_pkgname-$pkgver/build/" \
+        -D CMAKE_INSTALL_PREFIX=/usr \
         -D SIMSIMD_BUILD_SHARED=ON \
         -D SIMSIMD_BUILD_TESTS=$build_tests \
         -S "$srcdir/$_pkgname-$pkgver" \

gyscos commented on 2025-11-16 15:41 (UTC)

Hi! It seems that tests are not built, which causes the check step to fail.

The build step includes:

check_option check y || build_tests=OFF

I don't think I have the check_option command installed, so this always results in build_tests=OFF. I suspect this is why simd_test_compile_time and simd_test_runtime are not built. The result is a failed check step:

PKGBUILD: line 34: ./simsimd_test_compile_time: No such file or directory