commit:     6100d23980fd24168925aa8deb831f671c49582c
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  4 15:34:10 2022 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Tue Oct  4 15:42:22 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6100d239

dev-db/sqlite: add 3.39.4

Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 dev-db/sqlite/Manifest             |   2 +
 dev-db/sqlite/sqlite-3.39.4.ebuild | 436 +++++++++++++++++++++++++++++++++++++
 2 files changed, 438 insertions(+)

diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index afb91bb632e7..a8d017b5d7ce 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,4 +1,6 @@
 DIST sqlite-doc-3390200.zip 10683207 BLAKE2B 
745aedf0c71da6c0d802aed2b64b6e10ef57f4a72210b12276a3019ccc5408bef537ad93c64eb972a7f24117df5780e35f75246d2ba9cd74c4537588eb6cba3c
 SHA512 
54b9e632244b95ebf35fcaa5ce9c02381601eb442eec2ec2a809a7fe24d2cfed751581bb82fd243aaede2c935864da39fd1f1685e762826dd76fc754c7f79c0b
 DIST sqlite-doc-3390300.zip 10312031 BLAKE2B 
53e4490a0b2fdc8a8ee76615cef3c9e3006e79d91c7b21d92fcaecb7bb07190b761c506cb6af6cafb9e876974ece6647f33a663959d4ff83bb65310402e74709
 SHA512 
edab798f777bec097a20798a71c8ea01e4c59034da1f696ce1574a57719edd252a0004a268866e338803dd4c46980754ed1b5ddd05a5fc01b59397b6fda172ae
+DIST sqlite-doc-3390400.zip 10853153 BLAKE2B 
617927351809e5ec7489011f963337e92b539a83b135daa7ccd48f840d35716d08e8adc08a67e17d674a6bc64ca24fa92b56573c0065105386fc9c75f1f7f9ef
 SHA512 
75d97b0f2f0d530b2e0ad505574af3bf657d82f0859bb5de7ee45c40a80351e933944845cedca56b579925a3d07505c6f4721f756f27862ffafdfc2caff539fb
 DIST sqlite-src-3390200.zip 13403722 BLAKE2B 
24ab8cfe5fda267c7a90939875e87bc9f9914f2690f195c21ff2b774ba83a7d6914f57648cf618fd79b37e54ad85121f86310a733a87e6c76bf729716a937d02
 SHA512 
a838386a48654391590ea0e1cb355d29f6f93033c3e582df7c63139adaf5119dd5a1550e913dbad0d3eafb0bfa03c4fc6dc48a334d9c45ffb8a7205a528b38f1
 DIST sqlite-src-3390300.zip 13404886 BLAKE2B 
46c0a39aa1da33b3ab2f3353d641f2e93073531d9db8c7088ce2578eca5c742a4b9d2ac10f1c6488248e103f421cef214596eb692fdf54ef54c113b55961ab89
 SHA512 
19827a3dc0b57046b3d50e9538dfcf2e0453a04b2d8ccfee94effa3eee1b1a56837740ecef0e6ee4ec0a94d7185fae9f4a5e158291468acbbcead5335196e776
+DIST sqlite-src-3390400.zip 13405169 BLAKE2B 
aa0e0abbdcafced086a604ec910dbfd1e4df28e83e0edb6056019391e96367050e59478ee8847d930191a65b21cf0bf9957c35ef056abd9be4947a3838d78eb2
 SHA512 
0acb8afc87f911c91ec555cc97af5b77b6b0e80cc8672711ddd87c651d9e11b697c9669ff9ba2b58da12b972bb46acdf8b8fe35993950f10735b4036501b73bb

diff --git a/dev-db/sqlite/sqlite-3.39.4.ebuild 
b/dev-db/sqlite/sqlite-3.39.4.ebuild
new file mode 100644
index 000000000000..c69a893b551d
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.39.4.ebuild
@@ -0,0 +1,436 @@
+# Copyright 1999-2022 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/";
+
+# 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
+       SRC_URI=""
+else
+       SRC_URI="https://sqlite.org/2022/${PN}-src-${SRC_PV}.zip
+               doc? ( https://sqlite.org/2022/${PN}-doc-${DOC_PV}.zip )"
+fi
+
+LICENSE="public-domain"
+SLOT="3"
+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"
+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_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 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
+
+               # 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="$(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}"
+
+       # e_uri.test tries to open files in /.
+       # https://bugs.gentoo.org/839798
+       local SANDBOX_PREDICT=${SANDBOX_PREDICT}
+       addpredict "/test.db:/ÿ.db"
+
+       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
+}

Reply via email to