summaryrefslogtreecommitdiff
path: root/dev-db/sqlite
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/sqlite')
-rw-r--r--dev-db/sqlite/Manifest4
-rw-r--r--dev-db/sqlite/files/sqlite-3.37.0-configure-amalgamation.patch40
-rw-r--r--dev-db/sqlite/sqlite-3.37.0.ebuild428
3 files changed, 472 insertions, 0 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index dcee7bbec3b9..2ecd68a9ce84 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -6,6 +6,7 @@ AUX sqlite-3.35.0-build_1.1.patch 9731 BLAKE2B e0d0e53847f272ddde038115d27d3b059
AUX sqlite-3.35.0-build_1.2.patch 14036 BLAKE2B 42b1aa12f1aa0be10f565a5da09c5c1d4f78692f2a89918cb0714ebae536d60e9f5aea09fc325032cd56655fc5dd9abb566b6e962128c65f4296e5d299e1bde7 SHA512 d81dd506d06a54c6120f98a22922409e8f9b285d7b2f33630a71ef89d455a87356289363d9a7c4390422288c42855a0655e1d72b3aa51af8f37b7eb46e94e269
AUX sqlite-3.35.0-build_2.1.patch 11089 BLAKE2B 54192c90a19f08ef05a9276b54a66b782aa23aaf6580bac5d94e48c72e96903e5328968bbce8145e5953e0e9f7a22d6bcf9fc9268817f4dab2466dc27a928db0 SHA512 11c8463c8282e92c3276578433f5ac0073ca935162dbc717ad0a22750f22af3c4ce87037da42c604c98b77ec88ef1f4f5e1073f8c257aaa3c2106c7dfa6992a8
AUX sqlite-3.35.0-build_2.2.patch 12207 BLAKE2B cb8295b8ca8f1f38ebf130f5e32dd2b07dbb57bad7679ecda263bfe8e4e586864a69b9035a69c2579b1e9080322a26f3a4ce01c8bf066da16c7550938400e8d2 SHA512 094b1e5442743ec6020f1621bb1c3ca9f52434f8c83f1c237e345cafc7ec530c66244f4f0e1aa80416fcd85582fcb50a15ce8c93ab8967f6dfcd9fb9aa4012bd
+AUX sqlite-3.37.0-configure-amalgamation.patch 1319 BLAKE2B a302198a961ecaabc4383e659979c52c8b6cad9ce3f46c1958b17723b319136e5c0345afe78cb398c499d2077ec66c7ca190a3cd95ad0687520b70c407603345 SHA512 96b8011881c4badb3e5eb4f686170e86340dbe6db563cddadf3bf385302e8e0a695e9dc68781e58e606192b168b0a9b6cec335c54de3fe7b6c15bda3d2f9e2b1
DIST sqlite-doc-3340100.zip 10074559 BLAKE2B 66aa999d87b7f3c994c289eda320d6a4e371b0a6a2ab8bcebde540aa955f3bdf4f00b739ca32aa913685cd35a88ee83bebd7fa43a0c148614e9086a1d3f5652a SHA512 20cbb9f05cd329bf7aa2877431781e46192544806042f4104e4eb0e87d84cd2dfc02c7ff226d4bef9bb2c6a69cc612201844d116abe99b0cfed9602adf243a60
DIST sqlite-doc-3350000.zip 10165959 BLAKE2B e24ae04764617d07fafc82f4c27d96b853df77de2a945109c2ff28abd3b61f8bdd318756d14b8d20e22a0dff05fcca26c9a8c9972f600af0a996cd8e13478c9d SHA512 f6b92cf1a087a97071c55605e85676c4d76b9435a1a433e4663ff3d7937557d72e4fb99931a14abda9ab3dece654da09d10f7ca2560ca3e0972e4b7690997132
DIST sqlite-doc-3350100.zip 10175402 BLAKE2B c8ac8814837dc88320ae0f6973b5ec0b815a4fbfefae26ea2b5365485decb33e9e4add9097865819a5facb2568198535166dd8c492cb621ec845d8bfc2056721 SHA512 4843d8186f4cc98fc9ad5459a1b987d4512e72ceeeb985372c22d44f35856e33ee41ab0fa4372c273cfa4730f9461dc3f359ba50f26e53a0c7abd87e70cdfe86
@@ -13,6 +14,7 @@ DIST sqlite-doc-3350200.zip 10182547 BLAKE2B f50b04495aa79eca1ce935c8a96fe83d0a4
DIST sqlite-doc-3350300.zip 10197905 BLAKE2B ffe3e800fa7c9066c6f180a5989cceb89dfff81729258278256901eee717872ef6993a8bb30ebb6c1de5a66c128009c21494ec9bf0011accdd6f8beef712213a SHA512 260981abaf54f452777e37e99474d100010ec2340c740f78445b7794fa17bcbb814e90f004f870d929a9ccab1d89417ee3d65ffe3b65dbf511ca1de7b6a6a4c8
DIST sqlite-doc-3350400.zip 10206227 BLAKE2B 82572a771e72e76149fc7ca4e3d5b6f268d6b2d441cc8a4c02be7f2062582b55cefd1577dbb3c77d2e932e93f1a0403f55a9ffc8b74f7eada06435ef23a6b065 SHA512 cc967b6625e0ae3ffb4a84f87a6efb5bc0e2d3cb2080e438c9e1ba3b8c2ba707612b8bdfc2bf3291ef2ad2836780127050762945a3ff7503f662cf30ab4fde4a
DIST sqlite-doc-3350500.zip 10205830 BLAKE2B e078713786522f8da7984df6ddf62671c24ec5381cac88fe976c97fcdf4800cff8dc1a595df9c9010c687c9929cb5ab070957f8ccbc0b5e8bd7add88ae9a0514 SHA512 2da5357623f4db7003f46ec7ea8bdd8a794ad6e1be9a25a8ebccfe5222da43eabc32d9d17acfd7766aa4cf1fd010e476a8087fab78ac6f6596c7c5b8a06de685
+DIST sqlite-doc-3370000.zip 10509325 BLAKE2B 3f994a01811f97f55d977582c8f8b9b3bf4379eb925e38f57f525b7315dc2812bd39deaeca42e8a72b58ab40b7076ef3cb496849c113c707a4bcd08764293bdc SHA512 f245731675c67347318578e773b8d5f548c26eac7a333d6028cf7e11c4c9d2c3314da0a5428533ff26416f4194dce5c805d7f61f1fef27e02e9b91efa3c6d4c7
DIST sqlite-src-3340100.zip 12623711 BLAKE2B 08c98d0c56d46fe909f449f322002ae4d69fd952930d2f04514988a939b31744a13aea85935d84bc05db52faca1aad6a70d7c31e7da0e396bb649685a49699bb SHA512 5ed02fe609b3d08c3297cc43b21e6ee3f56fb51a6616ac391a0e50cd1677dbad03c6bf9bf9c8409cf94b83b16fe6b6e4a112640b18c7d4fd95328066da3c3943
DIST sqlite-src-3350000.zip 12814378 BLAKE2B f77880bfb335da078623841f9d9d9fc690085630757d8d8e3d40d42646902f809febf8dcc5048d38be0e2d74c0114c35f09789bc261e51d49f9685201f6d1297 SHA512 4b77d963092a6aed61b50e59450edf2af187f16b185b05ca54d81c3eecf71b1cb9bc2883a8aadeb971fcebe343fa430ea788aedb77e3712c8b39d4892c93a797
DIST sqlite-src-3350100.zip 12814875 BLAKE2B bc4f6913ce93c32e1c6fbd39f45666a14476096b09f7534047aee56cbb18e949bf5225c080c813281a0abae9198a35165161393db39df0c2af2a92138b4604d9 SHA512 004bcca9c2ae883b05d8f15c8bf28a12fd2fdf9527d1560d137f8e2570c153d14ea5405c500d0e79966a3881a516df4d9ed07be751712f1584df411e86c60977
@@ -20,6 +22,7 @@ DIST sqlite-src-3350200.zip 12815298 BLAKE2B a65034fc59c32e950b5337ef4fe1b247619
DIST sqlite-src-3350300.zip 12817388 BLAKE2B 5b07d15ec5ed934ffa776ae4e079d4b4a3d9c91c526577683c7eea4f95ba62738d82b6fd26f1c10560a6f87fd02b070e5786bcc45e908a338a316071009e5b92 SHA512 5b994833e37e5f7579f4e3eefbbadd5b2a3d691b5f662b7d3dc2bbf80ff1cdaf89262ce5612513fcb2daa0a7d1db3de871dfc462f9d162c954593ff7f4ad90fd
DIST sqlite-src-3350400.zip 12818802 BLAKE2B c671c5666d754c763e70f20e742e017320ceb27e1a8668e8713dbe5257aa0842ba8d7343e535be06eefd371dc2bae9ded6718194b7891e46c6eb4081531b4944 SHA512 3a3fa1df47b8f148fffbb056522e0e671d9e295c154173124208b7b1348d321eba410a40fbdea02fdc1af3b55cdfce37044ed09f328502fc50f42f5ecabc1236
DIST sqlite-src-3350500.zip 12819198 BLAKE2B 0f0d39cd663d78a3c698df62dd533019c32244e8c998e625354cb069f5839cc374476b825e2e2a6408916301333a9954c0c7b9cbab5493522fdffe8859f9b6a5 SHA512 f9afd11b3c42a8241f91e2ecafc3928e7391cc0f1fbee236b8122c2d3ca922d0c82d2605968b131351b6c5e38f983f8eed29b86c94cfa72799e2387b3b3db561
+DIST sqlite-src-3370000.zip 13141152 BLAKE2B 72e3ba37dcc1e10ab822ce080319c98e67aae5092946fb32c0da02bf3fd50e043c0e35b807270f2f20aee5fd53ecdf125113571f807f2facf1d9033f5e84d7a6 SHA512 5a3c358c42782bc248a0795ca78a10d834861f98ab0a021a05d8358ba1716f3febb3da29ded187dfd205902f77bbf284ed3207aabe4979b68b90d0557d1676f7
EBUILD sqlite-3.34.1.ebuild 12985 BLAKE2B 57570ade0291598cf3f0e03f3140d893a0159da4c801243320351dbbf2e443d65cff9416690c10c46bf49fc1c24c556cf7c474b923f378e04bdfbdeed83c9f90 SHA512 ecdfbf4b70e5727c08efe571242a659a04332189e669d422bbe6a41c56aa5f5d45f829f7bb19fa4d8679f4ce26539b48ab4fcec2836ec695109594cfeac05b6e
EBUILD sqlite-3.35.0.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.1.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
@@ -27,4 +30,5 @@ EBUILD sqlite-3.35.2.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f00839
EBUILD sqlite-3.35.3.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.4.ebuild 12993 BLAKE2B 1cf0e69091090563ed26fe2775f15565f008395df7faa1b0d13e970f7240aa9b371250f3ce318c97da956a611014b76d74aadd74beef7e3435d533d4ab7437e3 SHA512 62e893f13ea89fd7cf4f557554bee924dbac9dec449275fa7e89f369e2cef03a9599cb89197e2dc1116c469e5403615c39ee3d0c28aff3b85b59223f271c1d0a
EBUILD sqlite-3.35.5.ebuild 12985 BLAKE2B 09e7ce9ba2d0ce36aaea8fd8fb2c3886eaccf0bffe3e756273fd84aead4ae1dda99c76865745f77907bf9bc32f8600becb8fe6af3e593148e2cda050bfc6437c SHA512 71b522aaf44c07f4632877c3626f260659477df560a5ac647e698794967b5554e382abfe5aba5df4f73adbed685a806d34486ee5a1a458c15faa1b34cfee959f
+EBUILD sqlite-3.37.0.ebuild 12993 BLAKE2B 759e75795eaaeac75fa7e70a7b0c13ef48a589c3ed6a1355fd842eaa9b6fe2403912c0a7acab52265191b701b76a7c08815609f286fd40b75cf23ef5704159f4 SHA512 7e62c74a728e6e713e34431f85c0904a6c38d23b672ca5e62f425982784e6eb1e80023264f7b5181c9098f24ce9e010ff3719b8beb272cd81ac163599f99cf17
MISC metadata.xml 744 BLAKE2B ed98df017607e128852912b27a974a7b522f3a771f46b3516c21b1a1bb165de7e1daccc89e09a8004c741fa9719f2006e220acf2996cb5143b2162042bcb3a59 SHA512 fcfb66e2b77748953a88864ac62ebe6bf6466894fa68fa69b0c2b26732bb4e6b88c689e71f29a7967a4dd28cd1db524b8e4071df1961c5c176c95023cdf2ab96
diff --git a/dev-db/sqlite/files/sqlite-3.37.0-configure-amalgamation.patch b/dev-db/sqlite/files/sqlite-3.37.0-configure-amalgamation.patch
new file mode 100644
index 000000000000..4c7f75ee257f
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.37.0-configure-amalgamation.patch
@@ -0,0 +1,40 @@
+https://sqlite.org/forum/info/3de38a45421e83a17e8ce220bbe2c2d6aff2ecf2e8b0f5173b2116705a53e061
+https://git.pld-linux.org/?p=packages/sqlite3.git;a=blob_plain;f=sqlite3-amalgamation_configure.patch;hb=HEAD
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -116,6 +116,13 @@
+ USE_AMALGAMATION=1
+
+ #########
++# By default, amalgamation sqlite3.c will have #line directives.
++# This is a build option not shown by ./configure --help
++# To control it, use configure option: amalgamation_line_macros=?
++# where ? is no to suppress #line directives or yes to create them.
++AMALGAMATION_LINE_MACROS=--linemacros=0
++
++#########
+ # See whether we can run specific tclsh versions known to work well;
+ # if not, then we fall back to plain tclsh.
+ # TODO: try other versions before falling back?
+@@ -574,6 +581,20 @@
+ fi
+ AC_SUBST(USE_AMALGAMATION)
+
++########
++# See whether --disable
++if test "${amalgamation_line_macros+set}" = set; then :
++ enableval=$amalgamation_line_macros;
++fi
++
++if test "${amalgamation_line_macros}" = "yes" ; then
++ AMALGAMATION_LINE_MACROS=--linemacros=1
++fi
++if test "${amalgamation_line_macros}" = "no" ; then
++ AMALGAMATION_LINE_MACROS=--linemacros=0
++fi
++AC_SUBST(AMALGAMATION_LINE_MACROS)
++
+ #########
+ # Look for zlib. Only needed by extensions and by the sqlite3.exe shell
+ AC_CHECK_HEADERS(zlib.h)
diff --git a/dev-db/sqlite/sqlite-3.37.0.ebuild b/dev-db/sqlite/sqlite-3.37.0.ebuild
new file mode 100644
index 000000000000..e76f8331b160
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.37.0.ebuild
@@ -0,0 +1,428 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+if [[ "${PV}" != "9999" ]]; then
+ SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
+ DOC_PV="${SRC_PV}"
+ # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
+fi
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://sqlite.org/2021/${PN}-src-${SRC_PV}.zip
+ doc? ( https://sqlite.org/2021/${PN}-doc-${DOC_PV}.zip )"
+fi
+
+LICENSE="public-domain"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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"
+IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
+if [[ "${PV}" == "9999" ]]; then
+ PROPERTIES="live"
+fi
+RESTRICT="!test? ( test )"
+
+if [[ "${PV}" == "9999" ]]; then
+ BDEPEND=">=dev-lang/tcl-8.6:0
+ dev-vcs/fossil"
+else
+ BDEPEND="app-arch/unzip
+ >=dev-lang/tcl-8.6:0"
+fi
+RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
+ readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
+ tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
+ tools? ( dev-lang/tcl:0= )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
+
+if [[ "${PV}" == "9999" ]]; then
+ S="${WORKDIR}/${PN}"
+else
+ S="${WORKDIR}/${PN}-src-${SRC_PV}"
+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() {
+ eapply "${FILESDIR}"/sqlite-3.37.0-configure-amalgamation.patch
+
+ eapply_user
+
+ 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 JSON1 extension.
+ # https://sqlite.org/compile.html#enable_json1
+ # https://sqlite.org/json1.html
+ append-cppflags -DSQLITE_ENABLE_JSON1
+
+ # 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
+
+ # debug USE flag.
+ options+=($(use_enable debug))
+
+ # icu USE flag.
+ 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
+
+ # readline USE flag.
+ options+=(
+ --disable-editline
+ $(use_enable readline)
+ )
+ if use readline; then
+ options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
+ fi
+
+ # secure-delete USE flag.
+ 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
+
+ # static-libs USE flag.
+ options+=($(use_enable static-libs static))
+
+ # tcl, test, tools USE flags.
+ if use tcl || use test || { use tools && multilib_is_native_abi; }; then
+ options+=(
+ --enable-tcl
+ --with-tcl="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ else
+ options+=(--disable-tcl)
+ fi
+
+ if [[ "${ABI}" == "x86" ]]; then
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
+ append-cflags -mfpmath=sse
+ else
+ append-cflags -ffloat-store
+ fi
+ fi
+
+ econf "${options[@]}"
+}
+
+multilib_src_compile() {
+ emake HAVE_TCL="$(usex 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}"
+
+ emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo 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
+}