# Copyright 2021-2026 BaldEagleOS Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit autotools flag-o-matic DESCRIPTION="Full Database Encryption for SQLite" HOMEPAGE=" https://www.zetetic.net/sqlcipher/ https://github.com/sqlcipher/sqlcipher " SRC_URI="https://github.com/sqlcipher/sqlcipher/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="amd64 x86" IUSE="debug libedit readline libressl tcl test" # Testsuite requires compilation with TCL, bug #582584 REQUIRED_USE=" ?? ( libedit readline ) test? ( tcl ) " RESTRICT="!test? ( test )" RDEPEND=" !libressl? ( >=dev-libs/openssl-3.0:= ) libressl? ( dev-libs/libressl:= ) sys-libs/zlib libedit? ( dev-libs/libedit ) readline? ( sys-libs/readline:= ) tcl? ( dev-lang/tcl:= ) " DEPEND="${RDEPEND}" BDEPEND="dev-lang/tcl" src_prepare() { append-cflags -DSQLITE_HAS_CODEC -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_EXTRA_INIT=sqlcipher_extra_init -DSQLITE_EXTRA_SHUTDOWN=sqlcipher_extra_shutdown -DSQLITE_TEMP_STORE=3 append-ldflags -lssl -lcrypto eapply -p0 $FILESDIR/patch-autosetup_sqlite-config_tcl if use libressl; then eapply -p0 $FILESDIR/patch-src_crypto_openssl_c fi default } src_configure() { local myeconfargs=( --enable-fts3 --enable-fts4 --enable-fts5 --enable-geopoly --enable-memsys5 --enable-rtree --enable-session --with-tempstore=yes $(use_enable debug) $(use_enable libedit editline) $(use_enable readline) $(use_enable tcl) ) ECONF_SOURCE=${S} \ econf "${myeconfargs[@]}" } src_install() { emake DESTDIR="${D}" install # Rename files from sqlite3 to sqlcipher to prevent file collisons mv ${ED}/usr/bin/{sqlite3,sqlcipher} mv ${ED}/usr/include/{sqlite3,sqlcipher}.h mv ${ED}/usr/include/{sqlite3ext,sqlcipherext}.h mv ${ED}/usr/lib64/lib{sqlite3,sqlcipher}.a rm ${ED}/usr/lib64/libsqlite3.so{,.0} mv ${ED}/usr/lib64/libsqlite3.so.* \ ${ED}/usr/lib64/libsqlcipher.so.${PV} mv ${ED}/usr/lib64/pkgconfig/{sqlite3,sqlcipher}.pc mv ${ED}/usr/share/man/man1/{sqlite3,sqlcipher}.1 sed -i s/-lsqlite3/-lsqlcipher/ ${ED}/usr/lib64/pkgconfig/sqlcipher.pc einstalldocs find "${D}" -name '*.la' -type f -delete || die }