mirror of
https://github.com/navidrome/navidrome.git
synced 2026-05-03 06:51:16 +00:00
Vendor the spellfix1 extension source and compile it directly into the binary via cgo, avoiding runtime shared library dependencies across platforms. The extension is registered via sqlite3_auto_extension so every new SQLite connection has spellfix1 available. Signed-off-by: Deluan <deluan@navidrome.org>
32 lines
895 B
Bash
Executable File
32 lines
895 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Updates the vendored spellfix1 source files to match the SQLite version
|
|
# bundled with the current go-sqlite3 dependency.
|
|
#
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
SQLITE_VERSION=$(grep '#define SQLITE_VERSION ' \
|
|
"$(go env GOMODCACHE)/$(go list -m -f '{{.Path}}@{{.Version}}' github.com/mattn/go-sqlite3)/sqlite3-binding.h" \
|
|
| awk '{gsub(/"/, "", $3); print $3}')
|
|
|
|
if [ -z "$SQLITE_VERSION" ]; then
|
|
echo "ERROR: Could not determine SQLite version from go-sqlite3" >&2
|
|
exit 1
|
|
fi
|
|
|
|
TAG="version-${SQLITE_VERSION}"
|
|
BASE_URL="https://raw.githubusercontent.com/sqlite/sqlite/${TAG}"
|
|
|
|
echo "SQLite version from go-sqlite3: ${SQLITE_VERSION}"
|
|
echo "Downloading from tag: ${TAG}"
|
|
|
|
curl -sfL "${BASE_URL}/ext/misc/spellfix.c" -o spellfix.c
|
|
echo " Updated spellfix.c"
|
|
|
|
curl -sfL "${BASE_URL}/src/sqlite3ext.h" -o sqlite3ext.h
|
|
echo " Updated sqlite3ext.h"
|
|
|
|
echo "Done."
|