summaryrefslogtreecommitdiff
path: root/dev-db/sqlcipher/sqlcipher-4.16.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/sqlcipher/sqlcipher-4.16.0.ebuild')
-rw-r--r--dev-db/sqlcipher/sqlcipher-4.16.0.ebuild83
1 files changed, 83 insertions, 0 deletions
diff --git a/dev-db/sqlcipher/sqlcipher-4.16.0.ebuild b/dev-db/sqlcipher/sqlcipher-4.16.0.ebuild
new file mode 100644
index 000000000000..e1c2c73316ce
--- /dev/null
+++ b/dev-db/sqlcipher/sqlcipher-4.16.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2021-2026 Liguros 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
+}