diff options
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/Manifest.gz | bin | 15225 -> 15225 bytes | |||
-rw-r--r-- | dev-db/sqlite/Manifest | 8 | ||||
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch | 101 | ||||
-rw-r--r-- | dev-db/sqlite/sqlite-3.41.1.ebuild | 428 | ||||
-rw-r--r-- | dev-db/sqlite/sqlite-3.41.2-r1.ebuild (renamed from dev-db/sqlite/sqlite-3.41.0.ebuild) | 5 |
5 files changed, 108 insertions, 434 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex 9561f629e704..13925457927b 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 410a1478d43e..e8ed39e198e0 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,15 +1,11 @@ AUX sqlite-3.39.4-icu-72-test.patch 800 BLAKE2B 799fd4df209886e5df6fc050247719a0eafae494bd23c3ee44e4e1c0b86da036d438ac86f763101b846fef7b7f3c1196c0ebdbd3e7aa70394c76307673a44cc6 SHA512 dca2f9552e144dfb5636c4796c634d892d1de0beb980ce6683906266fb4c9a9a98e03eb92c8c3fe7a8de427ae41d0f784ac32c0f93630563cb6a3d6db6fb5493 +AUX sqlite-3.41.2-perf-regression.patch 3737 BLAKE2B 434b7785c39d7cc449cc4daece45186fbf41796c45e98223ba44b78a2d93bcbe5e496f4dd69a694a8b3677235f7c25b31fa17209ac284e6a02ed46f668a3f02f SHA512 6afb7d159c42065d3407881c1e13d184b3782ad867277a86ff2d9b779ac70c409dbbbad2741bb3e6f0a941660fd0b2874a830b03f9d592dd94ef76c38a9430e4 DIST sqlite-doc-3400100.zip 10934836 BLAKE2B 52adbfa911a5d8556e4e071bf14ad83145023fbd426f285d9724d7f06e41257df53d3c28224581f12b4ca8f699bf3d3ec829ee161374ce0208783e5da72639dc SHA512 1131b0a6304a4dd6287c85d38d1450fd2dd0e3377d88a263e3c4716415e0587750357f25486727b9433797da0331229682565e7a8a3986eba89cfcab550a2d41 -DIST sqlite-doc-3410000.zip 10979224 BLAKE2B aa42dd8977b1a2f782fcaecdea9797d0a97c623349854b8bf3050bbc8627482e77c1fd8952633c759e99ab6dd1038ab71fd4942429af9f9422cbc76deaac46ed SHA512 6eff61b7a63ee8cd8c9460b50f6ab6c9bf8074a270e900fee8bf28c1602cc5da35b0c626a780e735f349f08310a924ba83cd1420f2767f8d12d0ee0455374109 -DIST sqlite-doc-3410100.zip 10996110 BLAKE2B 03a0c77547ba20957884e202138a280d4f65e25f08e784b06026fdcb97a79999c1065009b8102362d4e58817a359d18245f2f34e98c210faa795b8b96ad4014f SHA512 796e3f75506ab1819043377cfaa96ff156e962b19d1aa5f04da591842ea52bc4e5dc5c69d765d9d7debd34e9075e1c48276d0a57c90d914ccb6236044cad0895 DIST sqlite-doc-3410200.zip 10633275 BLAKE2B 1323179d04b9fa21df4ed93ad1aa89ff943a9d930ef02699aade779f18f28aa45dac8362d6427d7eb896c0c0b20e12f8446050f1fc08c3deef24e395123319c1 SHA512 77099fd3bfdb0c19baedb1248c5ff028a14cbc98d18956dfb13e55289a7dddbe82d25e4522f0cbbe9c2798e0531c354df5a207f89c62dfe0f84877db47bb4f9e DIST sqlite-src-3400100.zip 13725560 BLAKE2B 24d2efbbf7f8f35888b1e53c98f9c7fece9b1cf0b175bf49b78869253aa753ce47e2db67247183c07368e69d6eb63a6e39c06b212c8fd5ca36c892ff535bedca SHA512 78f8c6396bf8da090671c6f4c41255e60788324fccdaad906c53610eb6e37705f4d25c7f84da3be00b511ddf9f2e0545901f33f5ae4b6e00b1ea9413af095299 -DIST sqlite-src-3410000.zip 13831104 BLAKE2B 3bc0828f53c9e1e4344352375ef749fa145579b1a07ef657ca8d05417b5b0a211c785b44613fffe45d4bf74cff6f8e5320b5af7e8e97c1199e3d69916bc6ae6c SHA512 9c39202eb058e421035ffe4d5c9f74164a0ad4a928f6f01e4fa04af0e7efb64635ab5902220dbb37478c5c777170e4c49a171b36a0f908315e187a8f1aa2b5e8 -DIST sqlite-src-3410100.zip 13833820 BLAKE2B e863f03355bb47ba4464d953c0191a02845e651ec6ceaa1bb203c9976cf4c11ad2739af3f538c7fb675c863fd0b4980ed4f2237fa7e66abacca3bc4dc1986a72 SHA512 840d2542825db2d1758cf9fa0f7159a8c6c7d40d23a5249d1c7bdf0210a6cc83e4dd8e3393c0c6e76e922a76614a1b5f311e232d7439759bdc0e2fbb4c12244a DIST sqlite-src-3410200.zip 13836230 BLAKE2B 4edcd65728143b1ea27abe65db8c8353dfa309858e6f40d70f3c376ef9e5613d92c41ed5a3c3282cacef8a29a434e3881f6e47ba5642820331170ceb69321d86 SHA512 28cfa72f2b39d851c38fb757a0c6d0696c22548792ce2fa1be5e2f6084e4bf0a5fb216902b59ccba5b6ebaf140aab954ed7676d84841b58ad063404a119a0c17 EBUILD sqlite-3.40.1.ebuild 13018 BLAKE2B cacf271b8d62005ff052e2f76e64be08d772807e24c7609cce41e610633faceff5ed3583fab6e15489d8ee79f8643b637accbfb05aac1d537ef48529d663b8da SHA512 dfd0999b6bd41f54829d8d30679ac9592f9ba239864a70d3c1c79d09f173dace94dc9b23b15b94f2e6a9ba336f76b3871a65d901b28e58ab1c1080c128bb897e -EBUILD sqlite-3.41.0.ebuild 12967 BLAKE2B ba52cd5e44d4f80b258950151e676d8db65ff62fc40568edd5d2daa522ce53a41b99a51623c4c8aac75f2ff3c95e91e39f60d4825de83934e41f8bba41a9e645 SHA512 c2d177d3f4e269dcc346a2060521ad82c6435fd0497a6f9c91932f2c80eb8cb2e057245bb6d49e64c6dbdd60dc6ab9205fc67fb5d28764b9a3a63082d82f2c82 -EBUILD sqlite-3.41.1.ebuild 12967 BLAKE2B ba52cd5e44d4f80b258950151e676d8db65ff62fc40568edd5d2daa522ce53a41b99a51623c4c8aac75f2ff3c95e91e39f60d4825de83934e41f8bba41a9e645 SHA512 c2d177d3f4e269dcc346a2060521ad82c6435fd0497a6f9c91932f2c80eb8cb2e057245bb6d49e64c6dbdd60dc6ab9205fc67fb5d28764b9a3a63082d82f2c82 +EBUILD sqlite-3.41.2-r1.ebuild 13055 BLAKE2B b46dc8bbcd9ba01c1d0a1d7fa7882e097d8d231235c5ae4786e94b68264c9c6fbcec67f81ea14a209c98c828d159439b35ac84814dc6f8c32829808de6db67c6 SHA512 111ecbe9049636d4ae89313ac9fe8281467e0b7befb2a1b3ca64f04461e5b756618cf02290b293e07c60a2ac953282550ebf3a0699123063e2b036327783e7a0 EBUILD sqlite-3.41.2.ebuild 12967 BLAKE2B ba52cd5e44d4f80b258950151e676d8db65ff62fc40568edd5d2daa522ce53a41b99a51623c4c8aac75f2ff3c95e91e39f60d4825de83934e41f8bba41a9e645 SHA512 c2d177d3f4e269dcc346a2060521ad82c6435fd0497a6f9c91932f2c80eb8cb2e057245bb6d49e64c6dbdd60dc6ab9205fc67fb5d28764b9a3a63082d82f2c82 EBUILD sqlite-9999.ebuild 12967 BLAKE2B f6724f1c26d68d81390a6acecbefacae560d4c396f870749131202fcd9c59262fa07bba6b3629ef9c988ca8758ba29927df178dc0d35c717f9799682ddf6e344 SHA512 02598d374b55edf52ea3641b06812b554f80beb48137166b81b285499b92872574131e1afef3ab5d3ea6b7791cf1c2e47e86e144c2e2ad472be7adc07229353a MISC metadata.xml 824 BLAKE2B 8ab2e8f230bf3a2b26077d90944bca7bf35ae905310205b90bf243365148488303256606c0ee7c3fb736300686466a1c2583bf103693c20063ca668fe9e52647 SHA512 ed4a89e3c2d633cb6ebf8bcbf3ca055d0d1b2ffd801ba559395f812faeaafdfedd97dae11a5a53a4c068e43026fbd4eed4cb12c8b89a7fda6dabe6f78a2e0b38 diff --git a/dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch b/dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch new file mode 100644 index 000000000000..0bf5c41513af --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.41.2-perf-regression.patch @@ -0,0 +1,101 @@ +https://sqlite.org/forum/forumpost/3a180ba0d4 and https://sqlite.org/forum/forumpost/f9346b11a6 +https://sqlite.org/src/info/aa6bd6dff751223e +(-> https://sqlite.org/src/vpatch?from=71215599cd8ebb97&to=aa6bd6dff751223e) + +--- a/src/select.c ++++ b/src/select.c +@@ -4236,12 +4236,11 @@ + ** (17f) the subquery must not be the RHS of a LEFT JOIN. + ** (17g) either the subquery is the first element of the outer + ** query or there are no RIGHT or FULL JOINs in any arm + ** of the subquery. (This is a duplicate of condition (27b).) + ** (17h) The corresponding result set expressions in all arms of the +-** compound must have the same affinity. (See restriction (9) +-** on the push-down optimization.) ++** compound must have the same affinity. + ** + ** The parent and sub-query may contain WHERE clauses. Subject to + ** rules (11), (13) and (14), they may also contain ORDER BY, + ** LIMIT and OFFSET clauses. The subquery cannot use any compound + ** operator other than UNION ALL because all the other compound +@@ -5105,14 +5104,10 @@ + ** + ** (8) If the subquery is a compound that uses UNION, INTERSECT, + ** or EXCEPT, then all of the result set columns for all arms of + ** the compound must use the BINARY collating sequence. + ** +-** (9) If the subquery is a compound, then all arms of the compound must +-** have the same affinity. (This is the same as restriction (17h) +-** for query flattening.) +-** + ** + ** Return 0 if no changes are made and non-zero if one or more WHERE clause + ** terms are duplicated into the subquery. + */ + static int pushDownWhereTerms( +@@ -5139,13 +5134,10 @@ + } + #ifndef SQLITE_OMIT_WINDOWFUNC + if( pSel->pWin ) return 0; /* restriction (6b) */ + #endif + } +- if( compoundHasDifferentAffinities(pSubq) ){ +- return 0; /* restriction (9) */ +- } + if( notUnionAll ){ + /* If any of the compound arms are connected using UNION, INTERSECT, + ** or EXCEPT, then we must ensure that none of the columns use a + ** non-BINARY collating sequence. */ + for(pSel=pSubq; pSel; pSel=pSel->pPrior){ + +--- a/test/pushdown.test ++++ b/test/pushdown.test +@@ -120,7 +120,47 @@ + SELECT v1.a, v1.b, t0.c0 AS cd FROM t0 LEFT JOIN v0 ON v0.c0!=0, v1 + ) WHERE a=2 AND b=0 AND cd=0; + } { + 2 0 0 + } +- ++ ++# 2023-02-22 https://sqlite.org/forum/forumpost/bcc4375032 ++# Performance regression caused by check-in [1ad41840c5e0fa70] from 2022-11-25. ++# That check-in added a new restriction on push-down. The new restriction is ++# no longer necessary after check-in [27655c9353620aa5] from 2022-12-14. ++# ++do_execsql_test 3.5 { ++ DROP TABLE IF EXISTS t1; ++ CREATE TABLE t1(a INT, b INT, c TEXT, PRIMARY KEY(a,b)) WITHOUT ROWID; ++ INSERT INTO t1(a,b,c) VALUES ++ (1,100,'abc'), ++ (2,200,'def'), ++ (3,300,'abc'); ++ DROP TABLE IF EXISTS t2; ++ CREATE TABLE t2(a INT, b INT, c TEXT, PRIMARY KEY(a,b)) WITHOUT ROWID; ++ INSERT INTO t2(a,b,c) VALUES ++ (1,110,'efg'), ++ (2,200,'hij'), ++ (3,330,'klm'); ++ CREATE VIEW v3 AS ++ SELECT a, b, c FROM t1 ++ UNION ALL ++ SELECT a, b, 'xyz' FROM t2; ++ SELECT * FROM v3 WHERE a=2 AND b=200; ++} {2 200 def 2 200 xyz} ++do_eqp_test 3.6 { ++ SELECT * FROM v3 WHERE a=2 AND b=200; ++} { ++ QUERY PLAN ++ |--CO-ROUTINE v3 ++ | `--COMPOUND QUERY ++ | |--LEFT-MOST SUBQUERY ++ | | `--SEARCH t1 USING PRIMARY KEY (a=? AND b=?) ++ | `--UNION ALL ++ | `--SEARCH t2 USING PRIMARY KEY (a=? AND b=?) ++ `--SCAN v3 ++} ++# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++# We want both arms of the compound subquery to use the ++# primary key. ++ + finish_test diff --git a/dev-db/sqlite/sqlite-3.41.1.ebuild b/dev-db/sqlite/sqlite-3.41.1.ebuild deleted file mode 100644 index b57b59ba8cf1..000000000000 --- a/dev-db/sqlite/sqlite-3.41.1.ebuild +++ /dev/null @@ -1,428 +0,0 @@ -# Copyright 1999-2023 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 - SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))" - DOC_PV="${SRC_PV}" - #DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))" - - SRC_URI=" - https://sqlite.org/2023/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2023/${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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 - -_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 - if use test ; then - rm test/atof1.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:/ΓΏ.db" - - emake 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 -} diff --git a/dev-db/sqlite/sqlite-3.41.0.ebuild b/dev-db/sqlite/sqlite-3.41.2-r1.ebuild index b57b59ba8cf1..95cbc793093a 100644 --- a/dev-db/sqlite/sqlite-3.41.0.ebuild +++ b/dev-db/sqlite/sqlite-3.41.2-r1.ebuild @@ -50,6 +50,11 @@ else BDEPEND+=" app-arch/unzip" fi +PATCHES=( + # Will be fixed in 3.42 + "${FILESDIR}"/${PN}-3.41.2-perf-regression.patch +) + _fossil_fetch() { local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" local repo_id="${1}" |