From 93a93e9a3b53c1a73142a305ea1f8136846942ee Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 22 Dec 2021 14:08:05 +0000 Subject: gentoo resync : 22.12.2021 --- dev-db/sqlite/Manifest | 4 + .../sqlite-3.37.0-configure-amalgamation.patch | 40 ++ dev-db/sqlite/sqlite-3.37.0.ebuild | 428 +++++++++++++++++++++ 3 files changed, 472 insertions(+) create mode 100644 dev-db/sqlite/files/sqlite-3.37.0-configure-amalgamation.patch create mode 100644 dev-db/sqlite/sqlite-3.37.0.ebuild (limited to 'dev-db/sqlite') 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 +} -- cgit v1.2.3