Install this version:
emerge -a =dev-lua/lsqlite3-0.9.7
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-lua/lsqlite3-0.9.7
Or alternatively:
emerge --autounmask-write -a =dev-lua/lsqlite3-0.9.7
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
inherit edo lua toolchain-funcs
# Fossil builds the zip on request; pin the v0.9.7 check-in rather than
# the tag, which can be moved. Same bytes as the tag URL (verified
# 2026-09-27).
MY_COMMIT="0311791a70c0a8fde2ae38352e88558ae1b8134d"
MY_P="${PN}_v${PV//./}"
DESCRIPTION="Lua binding for the SQLite3 database library"
HOMEPAGE="https://lua.sqlite.org/"
SRC_URI="https://lua.sqlite.org/home/zip/${MY_P}.zip?uuid=${MY_COMMIT} -> ${P}.zip"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64"
IUSE="test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="
${LUA_DEPS}
dev-db/sqlite:3
"
DEPEND="${RDEPEND}"
BDEPEND="
app-arch/unzip
test? ( ${RDEPEND} )
"
src_prepare() {
default
# The zip carries an SQLite amalgamation for the statically linked
# lsqlite3complete module. Remove it so the quoted sqlite3.h include
# cannot resolve to the bundled header instead of the system one.
rm sqlite3.c sqlite3.h || die
lua_copy_sources
}
lua_src_compile() {
pushd "${BUILD_DIR}" || die
local cmd=(
$(tc-getCC) ${CFLAGS} -fPIC $(lua_get_CFLAGS)
-DLSQLITE_VERSION=\"${PV}\"
)
# lsqlite3 calls luaL_openlib on Lua 5.1, but ::gentoo's lua:5.1
# leaves LUA_COMPAT_OPENLIB, which declares it, undefined.
# verified 2026-09-27
[[ ${ELUA} == lua5.1 ]] && cmd+=( -DLUA_COMPAT_OPENLIB )
cmd+=(
${LDFLAGS} -shared lsqlite3.c -lsqlite3 -o lsqlite3.so
)
edo "${cmd[@]}"
popd || die
}
src_compile() {
lua_foreach_impl lua_src_compile
}
lua_src_test() {
pushd "${BUILD_DIR}" || die
# tests-sqlite3.lua needs lunit, which is not packaged.
LUA_CPATH="${BUILD_DIR}/?.so" edo ${ELUA} test/test.lua
popd || die
}
src_test() {
lua_foreach_impl lua_src_test
}
lua_src_install() {
exeinto "$(lua_get_cmod_dir)"
doexe "${BUILD_DIR}"/lsqlite3.so
}
src_install() {
lua_foreach_impl lua_src_install
dodoc HISTORY README doc/lsqlite3.wiki
docinto examples
dodoc examples/*.lua
}
Manage flags for this package:
euse -i <flag> -p dev-lua/lsqlite3 |
euse -E <flag> -p dev-lua/lsqlite3 |
euse -D <flag> -p dev-lua/lsqlite3
dev-db/sqlite:3
dev-db/sqlite:3
app-arch/unzip test? ( dev-db/sqlite:3 )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | lsqlite3-0.9.7.zip | 2675854 bytes | https://lua.sqlite.org/home/zip/lsqlite3_v097.zip?uuid=0311791a70c0a8fde2ae38352e88558ae1b8134d |