summaryrefslogtreecommitdiff
path: root/dev-db/sqlite
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-19 00:09:54 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-19 00:09:54 +0100
commite8df704cf9b5e9e517317b8912377c0a8ca0d11e (patch)
treeab3f43045fb1d37471f8217c8547d2120bb3d1da /dev-db/sqlite
parentccaccfe4f1da8c11d9fa110f6e4eb847358769d7 (diff)
gentoo auto-resync : 19:06:2024 - 00:09:54
Diffstat (limited to 'dev-db/sqlite')
-rw-r--r--dev-db/sqlite/Manifest5
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch125
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch187
-rw-r--r--dev-db/sqlite/sqlite-3.45.1-r1.ebuild439
4 files changed, 0 insertions, 756 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index acb2ff4a0d8d..e782d043ce78 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,15 +1,10 @@
-AUX sqlite-3.44.2-fts-regression.patch 3161 BLAKE2B fc2fe5d62016325c4defd667f2e54ef4546f06329dfba329dabef16e870bc67a80c7807f7c0c9390dbbfac1f9af0fbb660ae1f3eb424aa273de31ee2c83f348b SHA512 55d1ccc6268139c121b9eb82ac3824217aae65db23a94e166702a27d41fb69c56396b5e8ac7b3c04c66619316b54f6272ca3b805c585252980ee05930de0e499
-AUX sqlite-3.44.2-tracker-regression.patch 5322 BLAKE2B 8a7cf0bb28a58717450c1dd0fe32ec196187ffd9576bd3498abf675e6d8aa906264ad64b5ee291f0a7624b7961e69d8155f45ed7165678378b29d27c1b7fe506 SHA512 911d594a8718849f46776a66f5b34d5054a6368512af26f80f842feb4ba6c7fd07b317f045df1ca105c875df47d96c78c6a7429642fc7c9c687e10c88888fb1f
AUX sqlite-3.45.1-lto.patch 561 BLAKE2B 248476136467f8651a30ea59bfd050d36f630e296e4b8c1fd582fe4c13a16b6f63ff57f02b8bb8c4ec08e91fd91da902cbccd769ec252bbdbb511629630ea9fb SHA512 4225de75ee012dbf51262e59d1b72aa4359cf0ca08a956a764a52179404798e9e91365d1b20c4ec12bf0ca23be6d98b69f98ae4949bd4b0b095326320c24cb5c
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
-DIST sqlite-doc-3450100.zip 10746925 BLAKE2B 6e45a33b41b8fd1e0b5ef3a44febf5ed53a19883441f0eaef6d811190a26cd072a49d254a35d5b90f92255082f91d3f7956a6e574b638b34f156f7297588b57e SHA512 dc036737973a29ea2b6cb4fe7ab4468f449e21eed34a773600570ed2e57ed4d195286c75afec91ab76ac55e25a0cc82e73c3b3119a9c8e7b5918bae8a1a3c8c0
DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31
DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd
-DIST sqlite-src-3450100.zip 14152147 BLAKE2B 815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153 SHA512 475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005
DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9
DIST sqlite-src-3460000.zip 14275927 BLAKE2B 8f8c7da56226cfbc669bc5cce7c897849dd0c6088189be2fc972fdc58bbc2933df979f040066a1cb9aea942117867eb31c9c97e7074e17215bfe747f9024a6c2 SHA512 441c51943e77655652409965b831df5af8662b4c585134be7fcd9bb5755a495170f37bd6510a80c18c42de72dda23536b583e84e58f042d342dd9e4139ae3327
-EBUILD sqlite-3.45.1-r1.ebuild 13371 BLAKE2B b48b41cfa7cf530b1f1840d3de06caaae2f373f96605fb3c195430a27e4d8d84dfbfdf50c6a96f8e8752859b866e6d8b29beabf706742d75761cfffe9411cbdd SHA512 85a19292a341bd797c9992fbbff323a4fb9cbd3011486e094a8b603e00976d6eb5ee66cacaf8caf7abd8e68ecd1f29a3b9110d8f6fbc7cec7e793c27e4e77a5d
EBUILD sqlite-3.45.3.ebuild 12842 BLAKE2B 6884ae03f4a7079de9676ab32d975d917576dc1a220243aaeca96315ef3c7b0f700e6e718c5201c1358a525f4ac84c8a6ae8a9e619ff91bb33320901aeab6e5f SHA512 a6c6b06c05d0407e34c08fe3ead92f2c32d0993dab96ae493f2407236e9f0bffa65c4c1cde292f2ee30092dd1f3b36b0c2dc123ce4cf35520adc236d8259baf7
EBUILD sqlite-3.46.0.ebuild 12806 BLAKE2B 812b876fa6bc589e5b6992879c1b6d127c0e8bfa0f23bee7bb29e39c7296e0aefdbf9795301232d1bbe1eb582acb366f57c515feea04f85bb2fe9c41cafdac31 SHA512 7061f0e23518499110132433a87893db0d1618985a70e06026dc4ea24a72530756205c112660aa52b9395c6e3848ab9d32316f13098b6ad8c02abaeece9c8f69
EBUILD sqlite-9999.ebuild 12749 BLAKE2B 8d9fd23e015d4c606d894bfeff3c163485b5948bb34faaed74226a688290a414ec398f8cfe47533cc0c36ff1f7a79cc2d597657885a44368d20348f28c2ee79e SHA512 d2aa53da9fa6982d64529b37f91c55080e7fa6c0b26815625b0bd882535e4da54170b7c84d03a1b6949620fc3cb50ad5e84a6b5b8fee0374178b6f888cfa101e
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
deleted file mode 100644
index 369732f81b38..000000000000
--- a/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-https://bugs.gentoo.org/921490
-https://www.sqlite.org/forum/forumpost/d16aeb397d
-
-https://github.com/kovidgoyal/calibre/commit/0a23fabd5b4bff152047ba0cffbc2b67592645d1
-https://github.com/kovidgoyal/calibre/commit/3349979551db05ec0c8754d7ea5a4e57a97f8a0a
-https://github.com/kovidgoyal/calibre/commit/da82b673f09efbe9cdcc1e0900f0a9f04d8de052
---- a/ext/fts5/fts5_aux.c
-+++ b/ext/fts5/fts5_aux.c
-@@ -209,10 +209,18 @@
- rc = fts5CInstIterNext(&p->iter);
- }
- }
-
- if( iPos==p->iRangeEnd ){
-+ if( p->bOpen ){
-+ if( p->iter.iStart>=0 && iPos>=p->iter.iStart ){
-+ fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
-+ p->iOff = iEndOff;
-+ }
-+ fts5HighlightAppend(&rc, p, p->zClose, -1);
-+ p->bOpen = 0;
-+ }
- fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
- p->iOff = iEndOff;
- }
-
- return rc;
-
-ADDED ext/fts5/test/fts5tokenizer2.test
-Index: ext/fts5/test/fts5tokenizer2.test
-==================================================================
---- /dev/null
-+++ b/ext/fts5/test/fts5tokenizer2.test
-@@ -0,0 +1,89 @@
-+# 2023 Nov 03
-+#
-+# The author disclaims copyright to this source code. In place of
-+# a legal notice, here is a blessing:
-+#
-+# May you do good and not evil.
-+# May you find forgiveness for yourself and forgive others.
-+# May you share freely, never taking more than you give.
-+#
-+#***********************************************************************
-+#
-+# Tests focusing on the built-in fts5 tokenizers.
-+#
-+
-+source [file join [file dirname [info script]] fts5_common.tcl]
-+set testprefix fts5tokenizer2
-+
-+# If SQLITE_ENABLE_FTS5 is defined, omit this file.
-+ifcapable !fts5 {
-+ finish_test
-+ return
-+}
-+
-+sqlite3_fts5_create_tokenizer db tst get_tst_tokenizer
-+proc get_tst_tokenizer {args} {
-+ return "tst_tokenizer"
-+}
-+proc tst_tokenizer {flags txt} {
-+ set token ""
-+ set lTok [list]
-+
-+ foreach c [split $txt {}] {
-+ if {$token==""} {
-+ append token $c
-+ } else {
-+ set t1 [string is upper $token]
-+ set t2 [string is upper $c]
-+
-+ if {$t1!=$t2} {
-+ lappend lTok $token
-+ set token ""
-+ }
-+ append token $c
-+ }
-+ }
-+ if {$token!=""} { lappend lTok $token }
-+
-+ set iOff 0
-+ foreach t $lTok {
-+ set n [string length $t]
-+ sqlite3_fts5_token $t $iOff [expr $iOff+$n]
-+ incr iOff $n
-+ }
-+}
-+
-+do_execsql_test 1.0 {
-+ CREATE VIRTUAL TABLE t1 USING fts5(t, tokenize=tst);
-+}
-+
-+do_execsql_test 1.1 {
-+ INSERT INTO t1 VALUES('AAdontBBmess');
-+}
-+
-+do_execsql_test 1.2 {
-+ SELECT snippet(t1, 0, '>', '<', '...', 4) FROM t1('BB');
-+} {AAdont>BB<mess}
-+
-+do_execsql_test 1.3 {
-+ SELECT highlight(t1, 0, '>', '<') FROM t1('BB');
-+} {AAdont>BB<mess}
-+
-+do_execsql_test 1.4 {
-+ SELECT highlight(t1, 0, '>', '<') FROM t1('AA');
-+} {>AA<dontBBmess}
-+
-+do_execsql_test 1.5 {
-+ SELECT highlight(t1, 0, '>', '<') FROM t1('dont');
-+} {AA>dont<BBmess}
-+
-+do_execsql_test 1.6 {
-+ SELECT highlight(t1, 0, '>', '<') FROM t1('mess');
-+} {AAdontBB>mess<}
-+
-+do_execsql_test 1.7 {
-+ SELECT highlight(t1, 0, '>', '<') FROM t1('BB mess');
-+} {AAdont>BBmess<}
-+
-+
-+finish_test
-
-
diff --git a/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch b/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
deleted file mode 100644
index b03848a19147..000000000000
--- a/dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-https://sqlite.org/forum/forumpost/cb59d962fd
-https://sqlite.org/src/vinfo/d8c6b246
-https://sqlite.org/src/info/67da596d82ec0ed3 (backport)
-
---- a/ext/fts5/fts5_index.c
-+++ b/ext/fts5/fts5_index.c
-@@ -355,10 +355,11 @@
- int nContentlessDelete; /* Number of contentless delete ops */
- int nPendingRow; /* Number of INSERT in hash table */
-
- /* Error state. */
- int rc; /* Current error code */
-+ int flushRc;
-
- /* State used by the fts5DataXXX() functions. */
- sqlite3_blob *pReader; /* RO incr-blob open on %_data table */
- sqlite3_stmt *pWriter; /* "INSERT ... %_data VALUES(?,?)" */
- sqlite3_stmt *pDeleter; /* "DELETE FROM %_data ... id>=? AND id<=?" */
-@@ -4000,10 +4001,11 @@
- assert( p->pHash || p->nPendingData==0 );
- if( p->pHash ){
- sqlite3Fts5HashClear(p->pHash);
- p->nPendingData = 0;
- p->nPendingRow = 0;
-+ p->flushRc = SQLITE_OK;
- }
- p->nContentlessDelete = 0;
- }
-
- /*
-@@ -5582,18 +5584,24 @@
- /*
- ** Flush any data stored in the in-memory hash tables to the database.
- */
- static void fts5IndexFlush(Fts5Index *p){
- /* Unless it is empty, flush the hash table to disk */
-+ if( p->flushRc ){
-+ p->rc = p->flushRc;
-+ return;
-+ }
- if( p->nPendingData || p->nContentlessDelete ){
- assert( p->pHash );
- fts5FlushOneHash(p);
- if( p->rc==SQLITE_OK ){
- sqlite3Fts5HashClear(p->pHash);
- p->nPendingData = 0;
- p->nPendingRow = 0;
- p->nContentlessDelete = 0;
-+ }else if( p->nPendingData || p->nContentlessDelete ){
-+ p->flushRc = p->rc;
- }
- }
- }
-
- static Fts5Structure *fts5IndexOptimizeStruct(
-
---- a/ext/fts5/fts5_main.c
-+++ b/ext/fts5/fts5_main.c
-@@ -116,11 +116,11 @@
- Fts5Table p; /* Public class members from fts5Int.h */
- Fts5Storage *pStorage; /* Document store */
- Fts5Global *pGlobal; /* Global (connection wide) data */
- Fts5Cursor *pSortCsr; /* Sort data from this cursor */
- int iSavepoint; /* Successful xSavepoint()+1 */
-- int bInSavepoint;
-+
- #ifdef SQLITE_DEBUG
- struct Fts5TransactionState ts;
- #endif
- };
-
-@@ -2613,13 +2613,11 @@
- sqlite3_vtab *pVtab, /* Virtual table handle */
- const char *zName /* New name of table */
- ){
- int rc;
- Fts5FullTable *pTab = (Fts5FullTable*)pVtab;
-- pTab->bInSavepoint = 1;
- rc = sqlite3Fts5StorageRename(pTab->pStorage, zName);
-- pTab->bInSavepoint = 0;
- return rc;
- }
-
- int sqlite3Fts5FlushToDisk(Fts5Table *pTab){
- fts5TripCursors((Fts5FullTable*)pTab);
-@@ -2632,30 +2630,16 @@
- ** Flush the contents of the pending-terms table to disk.
- */
- static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){
- Fts5FullTable *pTab = (Fts5FullTable*)pVtab;
- int rc = SQLITE_OK;
-- char *zSql = 0;
-+
- fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint);
--
-- if( pTab->bInSavepoint==0 ){
-- zSql = sqlite3_mprintf("INSERT INTO %Q.%Q(%Q) VALUES('flush')",
-- pTab->p.pConfig->zDb, pTab->p.pConfig->zName, pTab->p.pConfig->zName
-- );
-- if( zSql ){
-- pTab->bInSavepoint = 1;
-- rc = sqlite3_exec(pTab->p.pConfig->db, zSql, 0, 0, 0);
-- pTab->bInSavepoint = 0;
-- sqlite3_free(zSql);
-- }else{
-- rc = SQLITE_NOMEM;
-- }
-- if( rc==SQLITE_OK ){
-- pTab->iSavepoint = iSavepoint+1;
-- }
-- }
--
-+ rc = sqlite3Fts5FlushToDisk((Fts5Table*)pVtab);
-+ if( rc==SQLITE_OK ){
-+ pTab->iSavepoint = iSavepoint+1;
-+ }
- return rc;
- }
-
- /*
- ** The xRelease() method.
-@@ -2912,11 +2896,11 @@
- /*
- ** Run an integrity check on the FTS5 data structures. Return a string
- ** if anything is found amiss. Return a NULL pointer if everything is
- ** OK.
- */
--static int fts5Integrity(
-+static int fts5IntegrityMethod(
- sqlite3_vtab *pVtab, /* the FTS5 virtual table to check */
- const char *zSchema, /* Name of schema in which this table lives */
- const char *zTabname, /* Name of the table itself */
- int isQuick, /* True if this is a quick-check */
- char **pzErr /* Write error message here */
-@@ -2970,11 +2954,11 @@
- /* xRename */ fts5RenameMethod,
- /* xSavepoint */ fts5SavepointMethod,
- /* xRelease */ fts5ReleaseMethod,
- /* xRollbackTo */ fts5RollbackToMethod,
- /* xShadowName */ fts5ShadowName,
-- /* xIntegrity */ fts5Integrity
-+ /* xIntegrity */ fts5IntegrityMethod
- };
-
- int rc;
- Fts5Global *pGlobal = 0;
-
-
---- a/ext/fts5/test/fts5misc.test
-+++ b/ext/fts5/test/fts5misc.test
-@@ -89,11 +89,10 @@
- CREATE VIRTUAL TABLE vt0 USING fts5(c0);
- BEGIN TRANSACTION;
- INSERT INTO vt0(c0) VALUES ('xyz');
- }
-
--breakpoint
- do_execsql_test 2.2.2 {
- ALTER TABLE t0 RENAME TO t1;
- }
- do_execsql_test 2.2.3 {
- INSERT INTO vt0(vt0) VALUES('integrity-check');
-@@ -498,8 +497,23 @@
- } {assertionfaultproblem}
- do_execsql_test 17.5 {
- SELECT c0 FROM t0 WHERE c0 GLOB '*faul*';
- } {assertionfaultproblem}
-
-+#-------------------------------------------------------------------------
-+reset_db
-+do_execsql_test 18.0 {
-+ BEGIN;
-+ CREATE VIRTUAL TABLE t1 USING fts5(text);
-+ ALTER TABLE t1 RENAME TO t2;
-+}
-+
-+do_execsql_test 18.1 {
-+ DROP TABLE t2;
-+}
-+
-+do_execsql_test 18.2 {
-+ COMMIT;
-+}
-
- finish_test
-
-
diff --git a/dev-db/sqlite/sqlite-3.45.1-r1.ebuild b/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
deleted file mode 100644
index 0e04537b49cf..000000000000
--- a/dev-db/sqlite/sqlite-3.45.1-r1.ebuild
+++ /dev/null
@@ -1,439 +0,0 @@
-# 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 ~ia64 ~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}"/${P}-lto.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
-
- # Skip known-broken test for now
- # https://sqlite.org/forum/forumpost/d97caf168f
- # https://sqlite.org/forum/forumpost/50f136d91d
- # Quoting Fedora's spec:
- # "The atof test is failing on the i686 architecture, when binary configured with
- # --enable-rtree option. Failing part is text->real conversion and
- # text->real->text conversion in lower significant values after decimal point in a number.
- # func4 tests fail for i686 on float<->int conversions."
- if use test ; then
- rm test/atof1.test test/func4.test || die
- 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 HAVE_TCL="$(usex tcl 1 "")" $(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
-}