summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-11 03:02:58 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-11 03:02:58 +0000
commit0ab98a20dbfb8c64ab93e02280abb4ff18652ae0 (patch)
treea5d3bdd0c06f78202d2cbb4feeed80583ee8f5a5 /dev-db
parenteeb9605e496b284bf379a3b346a40638413e870e (diff)
gentoo auto-resync : 11:11:2024 - 03:02:58edge
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin16580 -> 16577 bytes
-rw-r--r--dev-db/sqlite/Manifest2
-rw-r--r--dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch37
-rw-r--r--dev-db/sqlite/sqlite-3.47.0-r1.ebuild428
4 files changed, 467 insertions, 0 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index bbfbc5d7eece..9e5fe6959e57 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index fb2327a7e3cd..a9dbf5eaba81 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,5 +1,6 @@
AUX sqlite-3.45.1-ppc64-ptr.patch 986 BLAKE2B 8c97514a67601c1f51459c1d4ea683e023730b3fa66be7a238807f172ce19ebceeed8f81c9f6e4f3621c96eecd8f6ea3bd5669a8a5ee5b14cf2bebdb7338e0db SHA512 12c6384682a36cddfdde7d2cfdba8aad54441b816816abf139bb05c46f65e78548c5a9e4f7f8b8836bd95702455b93ed7e0afb868ab15fead20a84404f075615
AUX sqlite-3.45.2-tests-x86.patch 3704 BLAKE2B 107828e5cda62c2fc9f6c23efa5a5c1e3993d57fc0a129bc3ec8e24ad8c00770a72768d76b0843b2ed493f738d4fdded31a0efb46dd48bc0e9f78988e42492a8 SHA512 5a867ca23262c7144865fed8e8a088d0494d2e4716990b6ded8c26dab588163d367226f8858cfbdda87bf897bafacf1299d5828ef50c9ca6e02b026b18970965
+AUX sqlite-3.47.0-allocator-mismatch.patch 1574 BLAKE2B c9e2a590b418ad009b6434b17e9e67a8ca63e8eb785c93753786bb581d0d0e584a6d73fe35850bb9bd6ed390e5d29e1568ecbe294db99b69978f0b5d38d72878 SHA512 99313357c2f003f15e68332e81e9a78428591255e25e57bf6b597135fd0c532e58dd7d1f0d92e9b3fc51c03a8cde18557e18fcacba1df7fffcd0beeb28cb0150
AUX sqlite-3.47.0-nonbash.patch 2086 BLAKE2B d791fe6bcfb115f814608f40500a3a321b7dd519aa5396a5e55fa96bde492356174c4c440e7cde28a477057d5f56453b246a991fd7818de908ed7c671573eec0 SHA512 c5c530cd936b5656d69d87a10704465cfb0b4029850780b613fd2e34b2c046476503e8ca7aef841f9757887757498f8544e3bf1005f3c7a1b9a8056c98ab79e8
DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31
DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd
@@ -12,6 +13,7 @@ DIST sqlite-src-3470000.zip 14408459 BLAKE2B c8e883410fdf9f020bc55ef01d7c2c5b7f1
EBUILD sqlite-3.45.3.ebuild 12836 BLAKE2B 52d49dc6d44a902c3ac4ec0158c1a528889b0a76b3a2e2a72a7cc12295312e358e14b43aa4923ed72776b85a86e5bada1db2fcd6315e44d57f788202ce76c226 SHA512 e8904b4b1fd810a9823bacd431638e1ea6445aedbc1bc01e40eb8c0f6d0827ef852425d6cb2127b3e3714637451bedb87ce05c69005ac4f98e45480fa2b31b3f
EBUILD sqlite-3.46.0.ebuild 12793 BLAKE2B 1b74ae60666a7fc1587db1e4e365d6a650b96caa9bb4f5351c6723aced9137d221f616296f672c1e7f56c0c3c0d0be49b8df2591d6c762d5344b8a29e913887f SHA512 ec4af38fdd7ed5be53d7a413c1744580fa1b990ca151e649214ed0096ba8545a9ebd14c29f9fa30e578fa4a95c299060e2b336db149d85a9fc2ac370403708d8
EBUILD sqlite-3.46.1.ebuild 12794 BLAKE2B 51b2d071bc95c524e860bacc3341beb6a6e502368d961960c00ef21bd70b7cd214347da3565cdfdd2f23af80ffb1c62f1d27cdbc7917d6d9f230c542be122919 SHA512 30ebbaaf2531c28e3b604e29e352cadc100f23665dc7f62e4c4fba7a1a0812b216b70ca23fbe0e28a898045ed939ee0f3551a8bfa694bc3ee5b2e79106ee2956
+EBUILD sqlite-3.47.0-r1.ebuild 12867 BLAKE2B f8fd4d09264f6fead6eec1b2c12a636e6c1dbde75d8910b4002010b7d42f55a4369723206d4f9628da6e471b5b3ecf73e191230a1f6f73558398be1881e24a56 SHA512 9aec42f84876c9ab6acfbad0a6f070f5369999c10fb0e446e804f9fd921ffbf969ad2d08a9f986cfc6e1795bf5b5a22558c08a5bdb6320a7f954e55f7a5de992
EBUILD sqlite-3.47.0.ebuild 12814 BLAKE2B 564ce70728bcec6bb601a33910f4b29feaa4404c4088bfa5022c39b8d418bb0edf0a7f6924df4c1f54af8885080a246758fb68ce5c8087e806f8e1758756f9c6 SHA512 9940914a1a3a13febae6bd698005e9fa458bb6cbdc56154c2f4593a53f8aba93d28651ad5121eb67aaf9829c58ec591adc2f6b8c1e67d44eecb3770b89431be3
EBUILD sqlite-9999.ebuild 12715 BLAKE2B d79519648d078c7c19312f1df796e2e681c40f2992649fa21b146a5fd16d469656fe02c2a52292a1dff66b38d9ac8061cbc468b162a4051cef56b4d4f1a462cd SHA512 fc50a53d730f618f33c600bf7886e94176404908975da1e5f893916f36c86bf0c4135ee1469026d703483339994638076f0fdc884aa7bad802be2cfaf713dc92
MISC metadata.xml 824 BLAKE2B 8ab2e8f230bf3a2b26077d90944bca7bf35ae905310205b90bf243365148488303256606c0ee7c3fb736300686466a1c2583bf103693c20063ca668fe9e52647 SHA512 ed4a89e3c2d633cb6ebf8bcbf3ca055d0d1b2ffd801ba559395f812faeaafdfedd97dae11a5a53a4c068e43026fbd4eed4cb12c8b89a7fda6dabe6f78a2e0b38
diff --git a/dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch b/dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch
new file mode 100644
index 000000000000..35ea63a28e6a
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.47.0-allocator-mismatch.patch
@@ -0,0 +1,37 @@
+https://github.com/sqlite/sqlite/commit/76b77c63f730aa163d82d082c0e1bf648cc4c567
+
+From 76b77c63f730aa163d82d082c0e1bf648cc4c567 Mon Sep 17 00:00:00 2001
+From: stephan <stephan@noemail.net>
+Date: Mon, 4 Nov 2024 13:59:58 +0000
+Subject: [PATCH] Fix two mismatched uses of malloc() and sqlite3_free() in
+ sqlite3_stdio.c, as reported in [forum:7dd7c70038 | forum post 7dd7c70038].
+
+FossilOrigin-Name: 5238959d05bbf3c12f488a55e52f3e9733138993d0365255184dffeb2bf36c03
+---
+ ext/misc/sqlite3_stdio.c | 4 ++--
+ manifest | 13 +++++++------
+ manifest.uuid | 2 +-
+ 3 files changed, 10 insertions(+), 9 deletions(-)
+
+diff --git a/ext/misc/sqlite3_stdio.c b/ext/misc/sqlite3_stdio.c
+index 5bb26084c2..ba37e4be30 100644
+--- a/ext/misc/sqlite3_stdio.c
++++ b/ext/misc/sqlite3_stdio.c
+@@ -146,7 +146,7 @@ char *sqlite3_fgets(char *buf, int sz, FILE *in){
+ ** that into UTF-8. Otherwise, non-ASCII characters all get translated
+ ** into '?'.
+ */
+- wchar_t *b1 = malloc( sz*sizeof(wchar_t) );
++ wchar_t *b1 = sqlite3_malloc( sz*sizeof(wchar_t) );
+ if( b1==0 ) return 0;
+ _setmode(_fileno(in), IsConsole(in) ? _O_WTEXT : _O_U8TEXT);
+ if( fgetws(b1, sz/4, in)==0 ){
+@@ -212,7 +212,7 @@ int sqlite3_fputs(const char *z, FILE *out){
+ ** use O_U8TEXT for everything in text mode.
+ */
+ int sz = (int)strlen(z);
+- wchar_t *b1 = malloc( (sz+1)*sizeof(wchar_t) );
++ wchar_t *b1 = sqlite3_malloc( (sz+1)*sizeof(wchar_t) );
+ if( b1==0 ) return 0;
+ sz = MultiByteToWideChar(CP_UTF8, 0, z, sz, b1, sz);
+ b1[sz] = 0;
diff --git a/dev-db/sqlite/sqlite-3.47.0-r1.ebuild b/dev-db/sqlite/sqlite-3.47.0-r1.ebuild
new file mode 100644
index 000000000000..c7033bdf2661
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.47.0-r1.ebuild
@@ -0,0 +1,428 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/"
+
+# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
+# for hints regarding test failures, backports, etc.
+if [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}"/${PN}
+ PROPERTIES="live"
+else
+ printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
+ DOC_PV="${SRC_PV}"
+ #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
+
+ SRC_URI="
+ https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
+ "
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="public-domain"
+SLOT="3"
+IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
+"
+BDEPEND=">=dev-lang/tcl-8.6:0"
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" dev-vcs/fossil"
+else
+ BDEPEND+=" app-arch/unzip"
+fi
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
+ "${FILESDIR}"/${PN}-3.47.0-nonbash.patch
+ "${FILESDIR}"/${PN}-3.47.0-allocator-mismatch.patch
+)
+
+_fossil_fetch() {
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ local repo_id="${1}"
+ local repo_uri="${2}"
+
+ local -x FOSSIL_HOME="${HOME}"
+
+ mkdir -p "${T}/fossil/${repo_id}" || die
+ pushd "${T}/fossil/${repo_id}" > /dev/null || die
+
+ if [[ -n "${EVCS_OFFLINE}" ]]; then
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
+ fi
+ else
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
+ fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
+ echo
+ else
+ cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
+ einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
+ fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
+ echo
+ fi
+
+ (
+ addwrite "${distdir}"
+ mkdir -p "${distdir}/fossil-src/${repo_id}" || die
+ cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
+ )
+ fi
+
+ popd > /dev/null || die
+}
+
+_fossil_checkout() {
+ local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
+ local repo_id="${1}"
+ local branch_or_commit="${2}"
+ local target_directory="${3}"
+
+ local -x FOSSIL_HOME="${HOME}"
+
+ if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
+ die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
+ fi
+
+ if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
+ mkdir -p "${T}/fossil/${repo_id}" || die
+ cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
+ fi
+
+ mkdir "${target_directory}" || die
+ pushd "${target_directory}" > /dev/null || die
+
+ einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
+ fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
+ echo
+
+ popd > /dev/null || die
+}
+
+fossil_fetch() {
+ local repo_id="${1}"
+ local repo_uri="${2}"
+ local target_directory="${3}"
+
+ local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
+
+ _fossil_fetch "${repo_id}" "${repo_uri}"
+ _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
+ if use doc; then
+ fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
+ fi
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
+ local options=()
+
+ options+=(
+ --enable-load-extension
+ --enable-threadsafe
+ )
+
+ # Support detection of misuse of SQLite API.
+ # https://sqlite.org/compile.html#enable_api_armor
+ append-cppflags -DSQLITE_ENABLE_API_ARMOR
+
+ # Support bytecode and tables_used virtual tables.
+ # https://sqlite.org/compile.html#enable_bytecode_vtab
+ # https://sqlite.org/bytecodevtab.html
+ append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
+
+ # Support column metadata functions.
+ # https://sqlite.org/compile.html#enable_column_metadata
+ # https://sqlite.org/c3ref/column_database_name.html
+ append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
+
+ # Support sqlite_dbpage virtual table.
+ # https://sqlite.org/compile.html#enable_dbpage_vtab
+ # https://sqlite.org/dbpage.html
+ append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
+
+ # Support dbstat virtual table.
+ # https://sqlite.org/compile.html#enable_dbstat_vtab
+ # https://sqlite.org/dbstat.html
+ append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
+
+ # Support sqlite3_serialize() and sqlite3_deserialize() functions.
+ # https://sqlite.org/compile.html#enable_deserialize
+ # https://sqlite.org/c3ref/serialize.html
+ # https://sqlite.org/c3ref/deserialize.html
+ append-cppflags -DSQLITE_ENABLE_DESERIALIZE
+
+ # Support comments in output of EXPLAIN.
+ # https://sqlite.org/compile.html#enable_explain_comments
+ append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
+
+ # Support Full-Text Search versions 3, 4 and 5.
+ # https://sqlite.org/compile.html#enable_fts3
+ # https://sqlite.org/compile.html#enable_fts3_parenthesis
+ # https://sqlite.org/compile.html#enable_fts4
+ # https://sqlite.org/compile.html#enable_fts5
+ # https://sqlite.org/fts3.html
+ # https://sqlite.org/fts5.html
+ append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
+ options+=( --enable-fts5 )
+
+ # Support hidden columns.
+ append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
+
+ # Support memsys5 memory allocator.
+ # https://sqlite.org/compile.html#enable_memsys5
+ # https://sqlite.org/malloc.html#memsys5
+ append-cppflags -DSQLITE_ENABLE_MEMSYS5
+
+ # Support sqlite3_normalized_sql() function.
+ # https://sqlite.org/c3ref/expanded_sql.html
+ append-cppflags -DSQLITE_ENABLE_NORMALIZE
+
+ # Support sqlite_offset() function.
+ # https://sqlite.org/compile.html#enable_offset_sql_func
+ # https://sqlite.org/lang_corefunc.html#sqlite_offset
+ append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
+
+ # Support pre-update hook functions.
+ # https://sqlite.org/compile.html#enable_preupdate_hook
+ # https://sqlite.org/c3ref/preupdate_count.html
+ append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
+
+ # Support Resumable Bulk Update extension.
+ # https://sqlite.org/compile.html#enable_rbu
+ # https://sqlite.org/rbu.html
+ append-cppflags -DSQLITE_ENABLE_RBU
+
+ # Support R*Trees.
+ # https://sqlite.org/compile.html#enable_rtree
+ # https://sqlite.org/compile.html#enable_geopoly
+ # https://sqlite.org/rtree.html
+ # https://sqlite.org/geopoly.html
+ append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
+
+ # Support Session extension.
+ # https://sqlite.org/compile.html#enable_session
+ # https://sqlite.org/sessionintro.html
+ append-cppflags -DSQLITE_ENABLE_SESSION
+
+ # Support scan status functions.
+ # https://sqlite.org/compile.html#enable_stmt_scanstatus
+ # https://sqlite.org/c3ref/stmt_scanstatus.html
+ # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
+ append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
+
+ # Support sqlite_stmt virtual table.
+ # https://sqlite.org/compile.html#enable_stmtvtab
+ # https://sqlite.org/stmt.html
+ append-cppflags -DSQLITE_ENABLE_STMTVTAB
+
+ # Support unknown() function.
+ # https://sqlite.org/compile.html#enable_unknown_sql_function
+ append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+
+ # Support unlock notification.
+ # https://sqlite.org/compile.html#enable_unlock_notify
+ # https://sqlite.org/c3ref/unlock_notify.html
+ # https://sqlite.org/unlock_notify.html
+ append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
+
+ # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
+ # https://sqlite.org/compile.html#enable_update_delete_limit
+ # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
+ # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
+ append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
+
+ # Support soundex() function.
+ # https://sqlite.org/compile.html#soundex
+ # https://sqlite.org/lang_corefunc.html#soundex
+ append-cppflags -DSQLITE_SOUNDEX
+
+ # Support URI filenames.
+ # https://sqlite.org/compile.html#use_uri
+ # https://sqlite.org/uri.html
+ append-cppflags -DSQLITE_USE_URI
+
+ options+=( $(use_enable debug) )
+
+ if use icu; then
+ # Support ICU extension.
+ # https://sqlite.org/compile.html#enable_icu
+ append-cppflags -DSQLITE_ENABLE_ICU
+ sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
+ fi
+
+ options+=(
+ --disable-editline
+ $(use_enable readline)
+ )
+
+ if use readline; then
+ options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
+ fi
+
+ if use secure-delete; then
+ # Enable secure_delete pragma by default.
+ # https://sqlite.org/compile.html#secure_delete
+ # https://sqlite.org/pragma.html#pragma_secure_delete
+ append-cppflags -DSQLITE_SECURE_DELETE
+ fi
+
+ options+=( $(use_enable static-libs static) )
+
+ # tcl, test, tools USE flags.
+ if use tcl || use test || { use tools && multilib_is_native_abi; }; then
+ options+=(
+ --enable-tcl
+ --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ else
+ options+=( --disable-tcl )
+ fi
+
+ if [[ "${ABI}" == "x86" ]]; then
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
+ append-cflags -mfpmath=sse
+ else
+ append-cflags -ffloat-store
+ fi
+ fi
+
+ econf "${options[@]}"
+}
+
+multilib_src_compile() {
+ emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
+
+ if use tools && multilib_is_native_abi; then
+ emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
+ fi
+
+ if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
+ emake tclsqlite3.c
+
+ local build_directory="$(pwd)"
+ build_directory="${build_directory##*/}"
+
+ mkdir "${WORKDIR}/${PN}-doc-build" || die
+ pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
+
+ emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
+ rmdir doc/matrix{/*,} || die
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_test() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ ewarn "Skipping tests due to root permissions"
+ return
+ fi
+
+ local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
+
+ # e_uri.test tries to open files in /.
+ # bug #839798
+ local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict "/test.db"
+ addpredict "/ΓΏ.db"
+
+ emake -Onone $(usex debug 'fulltest' 'test')
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
+
+ if use tools && multilib_is_native_abi; then
+ install_tool() {
+ if [[ -f ".libs/${1}" ]]; then
+ newbin ".libs/${1}" "${2}"
+ else
+ newbin "${1}" "${2}"
+ fi
+ }
+
+ install_tool changeset sqlite3-changeset
+ install_tool dbdump sqlite3-db-dump
+ install_tool dbhash sqlite3-db-hash
+ install_tool dbtotxt sqlite3-db-to-txt
+ install_tool index_usage sqlite3-index-usage
+ install_tool rbu sqlite3-rbu
+ install_tool scrub sqlite3-scrub
+ install_tool showdb sqlite3-show-db
+ install_tool showjournal sqlite3-show-journal
+ install_tool showshm sqlite3-show-shm
+ install_tool showstat4 sqlite3-show-stat4
+ install_tool showwal sqlite3-show-wal
+ install_tool sqldiff sqlite3-diff
+ install_tool sqlite3_analyzer sqlite3-analyzer
+ install_tool sqlite3_checker sqlite3-checker
+ install_tool sqlite3_expert sqlite3-expert
+ install_tool sqltclsh sqlite3-tclsh
+
+ unset -f install_tool
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ doman sqlite3.1
+
+ if use doc; then
+ if [[ ${PV} == 9999 ]]; then
+ pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
+ else
+ pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
+ fi
+
+ find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
+ if [[ ${PV} != 9999 ]]; then
+ rm search search.d/admin || die
+ rmdir search.d || die
+ find -name "*~" -delete || die
+ fi
+
+ (
+ docinto html
+ dodoc -r *
+ )
+
+ popd > /dev/null || die
+ fi
+}