From 277b01dadf092f0f045e58a5c7ae8df2f5d7f208 Mon Sep 17 00:00:00 2001 From: Daniele Rondina Date: Sun, 1 Jun 2025 03:54:48 +0000 Subject: [PATCH] Bump dev-db/sqlite-3.50.0 --- dev-db/sqlite/Manifest | 1 + dev-db/sqlite/sqlite-3.50.0.ebuild | 304 +++++++++++++++++++++++++++++ 2 files changed, 305 insertions(+) create mode 100644 dev-db/sqlite/sqlite-3.50.0.ebuild diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 2cdabe34c..97dcd2427 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,3 +1,4 @@ DIST sqlite-3.48.0-942c958.tar.gz 12957390 BLAKE2B de0f0cd3228b60d35f7f05f33204579ed39e0e81767092d14e4454922b30af2e61345e32e6e761831512f6631f20c5e4deb212943bb7a58d1be7aba4895b0d24 SHA512 41db4d849e23830d25719a075dee430c4e2fba01f885c1b0792c41134952db4b8d965f5504a868b5b5fb4d72154d1e0abac16cbedfba3e1f73f307a72c07885e DIST sqlite-3.49.0-659bafd.tar.gz 12974302 BLAKE2B b7fd2fd006a2221b3afc5a3513dcce8068c0754a570d2825d2c4fd85b6103dba4d12a41f1570af041cb174e00d367602284a8f8ea329cf981d1106eb4655d6bf SHA512 1444c3bae3d44247c6b4aa6b4cd833bc3d8d3b17717327b33b1cf6ca257688259fb1217213a40226acaa9f015b503f7b3616f03d930f0aad27c846d4e40451c5 DIST sqlite-3.49.1-3cd92ce.tar.gz 12978554 BLAKE2B 5140a453e187c19d4e875801942b9bc6b742b85ffb42e7cbdac6cac8c2220e1ece58ad140763f11150a1e796d62abe39ecf8183bf288f7eced190ed5324aa06d SHA512 bfd396338de3afdad5cc4ea134ecc373b9790e0dc5740475dd8f402b908686f239c014c2f027653ec8c4fdf9d89ff6068dd9839b67f952e78daff06f1b6fd37d +DIST sqlite-3.50.0-3f52361.tar.gz 12988171 BLAKE2B 2dbf0cab114263af476247fa7daa2817d597a07330b8c03eed802466cfbae86bb5212a248f2135aca1018d828efb65ce98c35ff76652683511e779ad51c45af2 SHA512 22c74ee16d7d44417df93a7be46a67208fef32ca08843e01a133792ff04fedc06a30b259cdbfe5262367b03ea1b132014ea395dda0c653c590dce104802e3f48 diff --git a/dev-db/sqlite/sqlite-3.50.0.ebuild b/dev-db/sqlite/sqlite-3.50.0.ebuild new file mode 100644 index 000000000..b52d76007 --- /dev/null +++ b/dev-db/sqlite/sqlite-3.50.0.ebuild @@ -0,0 +1,304 @@ +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools flag-o-matic 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. +SRC_URI="https://github.com/sqlite/sqlite/tarball/3f523613528194d3487853ed6e5367c6f215ec4f -> sqlite-3.50.0-3f52361.tar.gz" + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="*" +IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" +RESTRICT="!test? ( test )" + +BDEPEND="app-arch/unzip + >=dev-lang/tcl-8.6:0" +RDEPEND="sys-libs/zlib:0= + icu? ( dev-libs/icu:0= ) + readline? ( sys-libs/readline:0= ) + tcl? ( dev-lang/tcl:0= ) + tools? ( dev-lang/tcl:0= )" +DEPEND="${RDEPEND} + test? ( >=dev-lang/tcl-8.6:0 )" + +S="${WORKDIR}/sqlite-sqlite-3f52361" + +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 + + # sqlite needs a little help properly linking to ICU. Its automatic configure code + # doesn't seem to work, so we will use pkg-config directly to extract all libraries + # to link against: (See ext/icu/README.txt and auto.def for more details) + + for lib in i18n io uc; do + pkg-config icu-$lib --libs >> $T/icu_ld.txt || die + done + options+=( --with-icu-ldflags="$(cat $T/icu_ld.txt | tr '\n' ' ' )" ) + 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; 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[@]}" +} + +src_compile() { + if use tcl || use test || use tools; then + emake HAVE_TCL="1" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" + else + emake + fi + + if use tools; then + emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh + fi +} + +src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" + + if use tcl || use test || use tools; then + emake HAVE_TCL="1" $(use debug && echo fulltest || echo test) + else + emake $(use debug && echo fulltest || echo test) + fi +} + +src_install() { + if use tcl || use test || use tools; then + emake DESTDIR="${D}" HAVE_TCL="1" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + else + emake DESTDIR="${D}" install + fi + + if use tools; 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 + + find "${ED}" -name "*.la" -delete || die + + doman sqlite3.1 + + if use doc; then + pushd "${WORKDIR}/${PN}-doc-${MY_PV}" > /dev/null || die + + find "(" -name "*.db" -o -name "*.txt" ")" -delete || die + rm search search.d/admin || die + rmdir search.d || die + find -name "*~" -delete || die + + ( + docinto html + dodoc -r * + ) + + popd > /dev/null || die + fi +} \ No newline at end of file