summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-07 12:53:51 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-07 12:53:51 +0000
commit02814fd00146251691678aa18d9937665c677086 (patch)
tree5408cf868c128b241de5bab0f807058065bea7c8 /dev-db
parent79713e75fcc5c5cb55d1b1beac008683b57c8805 (diff)
gentoo auto-resync : 07:01:2024 - 12:53:51
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/Manifest.gzbin15908 -> 15906 bytes
-rw-r--r--dev-db/mongodb/Manifest4
-rw-r--r--dev-db/mongodb/mongodb-4.4.20.ebuild7
-rw-r--r--dev-db/mongodb/mongodb-5.0.16-r1.ebuild9
-rw-r--r--dev-db/sqlite/Manifest2
-rw-r--r--dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch125
-rw-r--r--dev-db/sqlite/sqlite-3.44.2-r2.ebuild434
7 files changed, 570 insertions, 11 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index e3b9a963ed48..7e81e489d8aa 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index c8ef637dd6d5..f10a4264583c 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -24,6 +24,6 @@ AUX mongos.confd-r3 470 BLAKE2B 9cf6f201d337430901d957a5a0811ff11ac2e81814aac212
AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba9318117b74ad9265ead53a21b7d1790729a62d61839099bee315ace8ff3646c01e096a943c2251bf88 SHA512 bf5897614d59c6b4e72529b126408a62ea37d9e9368e5ff69c8fcf2bad3ec09065cff09467f82117a892c51090018706d2f38c03cb9a974a61a49bd9efa0f144
DIST mongodb-src-r4.4.20.tar.gz 50883098 BLAKE2B 3ef2fddc4d926e372033449a14b0a71c606b6f8a9bb6767ff32c8da5a9287bf2972fae9dd83eab3ad934b1341c3edeed7708afd46f9a096819e9eca48aca40f5 SHA512 70b264b6a6f3ec16c8b0750d47026928f6250cb7a1a64d980c400ffbcc3af1b9c6301fe098d209fb8461cba4534b7c2edffdcdeb0548e627da107cc23d9a6b9c
DIST mongodb-src-r5.0.16.tar.gz 56217257 BLAKE2B d78704c0cff4f8c1da20fdc5e083634c6dbe539136de58410ae6b86c9c5cd8044926425545ae07a7011a5febec5abb6f67773b8e539a4ac16daa1ad0ffc6a070 SHA512 d5fccd6cd3ee3f70457bd96a8eff66ca9872df37e196f1baf26993b6c080297d77504020e5554eaf3a2e92bb2730a467226b4bef47ab7fdc4de247d91c0143eb
-EBUILD mongodb-4.4.20.ebuild 5203 BLAKE2B d7bbda27bf8b75cc2c713b8af735fd0cb6bd23e67866a05859b924a17a2688c241260a4cfd4d96adc78f8dc156bcdd4ead63f48dfd780b6517fa5931e15eb169 SHA512 564b9e79d32f6df720a46ad1f37622730595f2079e2a9e8f387eab765b94d64adf08bbd094b97c7b77716009b0e4677893c8388903eff98f33bbf5466c91b183
-EBUILD mongodb-5.0.16-r1.ebuild 5620 BLAKE2B feeb6349867a9780bd0c1e6ba3102de8710603fa112be5190250196923db48a4c076b6ab9df2736265eb66c95f01557d465faa3a9e6629946f3da092f4f7770b SHA512 75c7be0ab7e4f3f270a3b55f2254fc879bee54d949576f309c0a662a64a9c7a3a3388c290ee7903d896bbc51bfd070c9f0a304008ee3eb17f3f8e0d498a51ca1
+EBUILD mongodb-4.4.20.ebuild 5163 BLAKE2B a3babcee2a6ae390c1b9a6bfb04e8b391d72861c08938f5146c3ce9d61fbeca781bbb18f3a95dfd0e37f2e6835f1dbf83206f39fac1687b1db98c01c8ea95e6b SHA512 4b8b4a96424c7788a606df2ba6c0829d82c3bab139a74a7aafb87420d762495bc17db9347b340215a8e7e8a312d5fbcda828c04df5ae0b83d0a3167376216408
+EBUILD mongodb-5.0.16-r1.ebuild 5577 BLAKE2B 7cf7a99e22d846e2319a10e2449d946736777ce228a579d83130df23a0d628d2fd70abf022fe309b96913bad724e68d3c1cedfbd620eeaa4f7b20b250a445c01 SHA512 5c3c8bc92528e36120e1c940ed507a9647054b9214e1bf677a69bdff358fa9e59bf6c8daf41a73f8011f1e815d2dc1d29920c23ac24f55343386d3068a306b0c
MISC metadata.xml 853 BLAKE2B fef5b12bf1ac004fe59de6ab55cb537d1b287b28ce4eaaee88d555c17784bf7b95273e25e917c7c75a511e24515d12eeb255108e07ef549db4e225a03adfbfc0 SHA512 fc7f8225e517043b6c5e0ceb77191204c4c66b1454e889837572c04aaaf5a973f89efed26f07493f448e69eefb90cca90a3f84e0acac134454f17bdc97959997
diff --git a/dev-db/mongodb/mongodb-4.4.20.ebuild b/dev-db/mongodb/mongodb-4.4.20.ebuild
index 4dc301c49f07..e2606b9b203e 100644
--- a/dev-db/mongodb/mongodb-4.4.20.ebuild
+++ b/dev-db/mongodb/mongodb-4.4.20.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
@@ -21,7 +21,7 @@ SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="amd64 ~arm64 -riscv"
-IUSE="debug kerberos lto ssl test +tools"
+IUSE="debug kerberos ssl test +tools"
RESTRICT="!test? ( test )"
RDEPEND="acct-group/mongodb
@@ -123,7 +123,6 @@ src_configure() {
use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
use debug && scons_opts+=( --dbg=on )
use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
use ssl && scons_opts+=( --ssl )
# Needed to avoid forcing FORTIFY_SOURCE
diff --git a/dev-db/mongodb/mongodb-5.0.16-r1.ebuild b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
index 95e24df12a4f..0711ae6c4d00 100644
--- a/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
+++ b/dev-db/mongodb/mongodb-5.0.16-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
SCONS_MIN_VERSION="3.3.1"
CHECKREQS_DISK_BUILD="2400M"
@@ -22,7 +22,7 @@ LICENSE="Apache-2.0 SSPL-1"
SLOT="0"
KEYWORDS="amd64 ~arm64 -riscv"
CPU_FLAGS="cpu_flags_x86_avx"
-IUSE="debug kerberos lto mongosh ssl +tools ${CPU_FLAGS}"
+IUSE="debug kerberos mongosh ssl +tools ${CPU_FLAGS}"
# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
# resmoke needs python packages not yet present in Gentoo
@@ -138,8 +138,7 @@ src_configure() {
use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
use debug && scons_opts+=( --dbg=on )
use kerberos && scons_opts+=( --use-sasl-client )
- use lto && scons_opts+=( --lto=on )
- use amd64 && ! use cpu_flags_x86_avx && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
+ use amd64 && ! use cpu_flags_x86_avx && scons_opts+=( --experimental-optimization=-sandybridge ) # Bug 890294
scons_opts+=( --ssl=$(usex ssl on off) )
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 94991281f3cd..30c9b2ac762a 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,6 +1,8 @@
+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
DIST sqlite-doc-3440200.zip 10704552 BLAKE2B 3d50ac157bd2793c9167328994334a417835e5381e432fd8028e064869b8eab2ab1d213815d2232850d695bc71626e9d89518b201888a43673274cba2a1b345d SHA512 a7c92af0d3a61a2450511cfb507785c7ab64c21c6dbcf5a8bdef509d25a6b3ca35ce93a25ca827497c27abca77d11b794fbbc783e4d8e131981bf1d4b29f83e8
DIST sqlite-src-3440200.zip 14070781 BLAKE2B 9d29964ee15da6a104f4857cb5f2621df5b51d043012789793526f34c56097d7b1b1dcaa7672637f2d16bcab4ff775ba2c8415213b79f80636c0ff2aeff883ba SHA512 5c1fed9c399dad75735a1b4451f8f6be474b07652d74500649e60474691923f56156ef6d5bce51b58367c1676371f1184e32584fe9ac4d5dd0c4776fa6f1d9a3
EBUILD sqlite-3.44.2-r1.ebuild 12998 BLAKE2B 966b5bb1ff09af723212e872ac5b9b90abcc0aea3040f4d0ca07b8e48709f7a390e9d23b40effda97fe913cb5509baeccb5d5ab14488fd9183f4884a8159f2a8 SHA512 819738dfb5631f54cca84bc7f4fe92570e14e069091d223db7bf144a1a1521e119eb2b2d9af7e1f4635245d5c6dc86c6de04ebc0ec68a92e45a7ae8d5c8b9785
+EBUILD sqlite-3.44.2-r2.ebuild 13055 BLAKE2B 4cd0bd4cea06e818ab4a6d907d535798ec34401827dab3429811438f78f3c4183cb3806901ee782ae2d265a93db1ca109ec45fb8ee870310cdf4103c9272f411 SHA512 8ee08a7a37f3f81baca430840e039a53cfdfe2357e213d57f0e69c42b81d8fbf548b5586dc59cc044490b92c850aac3e8582046eefc0f5b1a618649f9e92e4c6
EBUILD sqlite-9999.ebuild 12940 BLAKE2B 378fe8563793a737775cb323267460dd8ab1881dde18026795ba916a94814dafd56221abda70423833414445ea653cf3d1ad5489e6abfc409138f5037c5633c8 SHA512 d701f8d940b30351f1d01bc59194ff48413cf0b043171982362ad4b3c436466ad23577a3c70cc261f219357d94119761f1b3f992f5d6bd93285166557c698364
MISC metadata.xml 824 BLAKE2B 8ab2e8f230bf3a2b26077d90944bca7bf35ae905310205b90bf243365148488303256606c0ee7c3fb736300686466a1c2583bf103693c20063ca668fe9e52647 SHA512 ed4a89e3c2d633cb6ebf8bcbf3ca055d0d1b2ffd801ba559395f812faeaafdfedd97dae11a5a53a4c068e43026fbd4eed4cb12c8b89a7fda6dabe6f78a2e0b38
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
new file mode 100644
index 000000000000..369732f81b38
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.44.2-fts-regression.patch
@@ -0,0 +1,125 @@
+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/sqlite-3.44.2-r2.ebuild b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
new file mode 100644
index 000000000000..90699bab480f
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.44.2-r2.ebuild
@@ -0,0 +1,434 @@
+# 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/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 ~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.44.2-tracker-regression.patch
+ "${FILESDIR}"/${PN}-3.44.2-fts-regression.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
+ 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"
+ 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
+}