Install this version:
emerge -a =dev-db/sqlite-vec-0.1.9
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-db/sqlite-vec-0.1.9
Or alternatively:
emerge --autounmask-write -a =dev-db/sqlite-vec-0.1.9
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo flag-o-matic toolchain-funcs
DESCRIPTION="SQLite extension for vector search (vec0 virtual table)"
HOMEPAGE="
https://alexgarcia.xyz/sqlite-vec/
https://github.com/asg017/sqlite-vec
"
SRC_URI="https://github.com/asg017/sqlite-vec/releases/download/v${PV}/${P}-amalgamation.tar.gz"
S="${WORKDIR}"
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="cpu_flags_x86_avx static-libs test"
RESTRICT="!test? ( test )"
DEPEND=">=dev-db/sqlite-3.38:3"
RDEPEND="${DEPEND}"
BDEPEND="test? ( >=dev-db/sqlite-3.38:3 )"
src_configure() {
# Upstream wählt SIMD anhand von /proc/cpuinfo des Build-Hosts;
# hier stattdessen über CPU_FLAGS bzw. die Architektur.
if use cpu_flags_x86_avx; then
append-cflags -mavx
append-cppflags -DSQLITE_VEC_ENABLE_AVX
fi
# NEON ist auf AArch64 Baseline (der Code nutzt AArch64-only Intrinsics)
use arm64 && append-cppflags -DSQLITE_VEC_ENABLE_NEON
}
src_compile() {
local cc=$(tc-getCC)
# Ladbare Extension (für .load vec0 / sqlite3_load_extension)
edo ${cc} ${CPPFLAGS} ${CFLAGS} -fPIC -shared ${LDFLAGS} \
-Wl,-soname,vec0.so \
sqlite-vec.c -o vec0.so -lm
if use static-libs; then
edo ${cc} ${CPPFLAGS} ${CFLAGS} -DSQLITE_CORE -DSQLITE_VEC_STATIC \
-c sqlite-vec.c -o sqlite-vec.o
edo $(tc-getAR) rcs libsqlite_vec0.a sqlite-vec.o
fi
}
src_test() {
local out
out=$(sqlite3 :memory: \
".load ./vec0" \
"select vec_version();" \
"create virtual table t using vec0(e float[3]);" \
"insert into t(rowid, e) values (1, '[1,0,0]'), (2, '[0,1,0]');" \
"select rowid from t where e match '[0.9,0.1,0]' and k = 1;") \
|| die "smoke test failed"
einfo "${out//$'\n'/ }"
[[ ${out} == "v${PV}"$'\n'"1" ]] || die "unexpected test output: ${out}"
}
src_install() {
dolib.so vec0.so
use static-libs && dolib.a libsqlite_vec0.a
doheader sqlite-vec.h
}
pkg_postinst() {
elog "Laden der Extension, z. B. in der sqlite3-Shell:"
elog " .load vec0"
elog "oder per SQL: SELECT load_extension('vec0');"
}
Manage flags for this package:
euse -i <flag> -p dev-db/sqlite-vec |
euse -E <flag> -p dev-db/sqlite-vec |
euse -D <flag> -p dev-db/sqlite-vec
>=dev-db/sqlite-3.38:3
>=dev-db/sqlite-3.38:3
test? ( >=dev-db/sqlite-3.38:3 )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | sqlite-vec-0.1.9-amalgamation.tar.gz | 53872 bytes | https://github.com/asg017/sqlite-vec/releases/download/v0.1.9/sqlite-vec-0.1.9-amalgamation.tar.gz |