From e8df704cf9b5e9e517317b8912377c0a8ca0d11e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 19 Jun 2024 00:09:54 +0100 Subject: gentoo auto-resync : 19:06:2024 - 00:09:54 --- dev-db/sqlite/Manifest | 5 - .../files/sqlite-3.44.2-fts-regression.patch | 125 ------ .../files/sqlite-3.44.2-tracker-regression.patch | 187 --------- dev-db/sqlite/sqlite-3.45.1-r1.ebuild | 439 --------------------- 4 files changed, 756 deletions(-) delete mode 100644 dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch delete mode 100644 dev-db/sqlite/files/sqlite-3.44.2-tracker-regression.patch delete mode 100644 dev-db/sqlite/sqlite-3.45.1-r1.ebuild (limited to 'dev-db/sqlite') 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', '<') FROM t1('BB'); -+} {AAdont>BB', '<') FROM t1('AA'); -+} {>AA', '<') FROM t1('dont'); -+} {AA>dont', '<') 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 -} -- cgit v1.2.3