diff options
author | Jakov Smolic <jakov.smolic@sartura.hr> | 2020-05-23 12:24:31 +0200 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-05-24 15:07:23 -0400 |
commit | df401c888693da5b3d295e0e0bfc15d20c88b798 (patch) | |
tree | a8270f6c890a4e72e7f9eb33afcf7e934c13270a /dev-db | |
parent | www-apps/liquid_feedback_core: move to EAPI 7 (diff) | |
download | gentoo-df401c888693da5b3d295e0e0bfc15d20c88b798.tar.gz gentoo-df401c888693da5b3d295e0e0bfc15d20c88b798.tar.bz2 gentoo-df401c888693da5b3d295e0e0bfc15d20c88b798.zip |
dev-db/sqlite: version bump to 3.32.0
Closes: https://bugs.gentoo.org/724644
Bug: https://bugs.gentoo.org/716748
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/15922
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/sqlite/Manifest | 3 | ||||
-rw-r--r-- | dev-db/sqlite/sqlite-3.32.0.ebuild | 388 |
2 files changed, 391 insertions, 0 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index a5126e72a2e2..239e8f5349eb 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,3 +1,6 @@ DIST sqlite-autoconf-3310100.tar.gz 2887243 BLAKE2B ef5d40b6e6c59a51ae95368eb9f6a938188813f89d5328ea1c1180ef35f124c14b3e83b0832ae5c2fa24cc2df352f1b0ea5f20b64d0762d50a700d9895f9a12e SHA512 d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617 +DIST sqlite-autoconf-3320000.tar.gz 2902505 BLAKE2B 7460e088d2714599ea284c258c09f376c6e4f3c5f2c932d18905941dabfc74baead3df39a522fab99059417129a16a72094d53457da506f12e37eb6b821cb811 SHA512 bb0f73d63658c3e31daa7919ea621d1a8add8d430fe4385947555f0a334038750630eb1240f28d1709c69d45d12c1cc04ed081ecfe421c594ed29b6ac80b0a5f DIST sqlite-doc-3310100.zip 9600405 BLAKE2B 324fb7a0a38bc56476e41504c14996e9d5d83ac659403991515413d49f5ee3aad064ccece25f52b6041ef26bf23f320a9be1b6b02c5fbe96c36372107f54fc2e SHA512 5572e2c2dac30c014ef9cd60a620b7a7bb610f91a47e2890c0641540d39b9d5ce0e914ee697583130317633918b7827e2612a7cbc024f5bd6aa22ad28a78b56b +DIST sqlite-doc-3320000.zip 9718952 BLAKE2B 0bb9620c353f2f8c91d31f9112e765feb8c77c73906bd6eecdefe28f11a83aa87605889b3ded992e604865a6a06b396613b98c7c7ec2caa11c0d7c445529a0b1 SHA512 8733bad1e8dda2967e7fadaf1a541bea338d3a14dcc0ab7fe25525e422ea8d61eb21b07648d29fe8b30ace2891ec3150800ec50f3eff121280b47db1439e915c DIST sqlite-src-3310100.zip 12510166 BLAKE2B a856695e8552b8b4dcb28452fdbd48305fdb9072f9d6587f4b1f4445daf386e920eb936dcb50fdfe41a49f84b26a7c5fedcffea5acf3ba3fa935c36695d4b8ee SHA512 af92a00877bcd90372d6f83a27fea12b4fe8d1155b223a6bccbccc31bb8e3d2269cd9e68f329bc55f70d1068ccbf220ff5abccea6f593fd7a3a4bdd732d1cdbe +DIST sqlite-src-3320000.zip 12525021 BLAKE2B 77ce7ce8429b395669842442757f90160ccf7e8b333af0527dae47131ea32b9dcd8902da4dd38e285aa8fcc66b5003e101ccd609851606b89c0149ae5df41b82 SHA512 ea915648bc7c364da9ad153c758e36b8cd4cc678958a5449824282844bc45963bd3602d30f731e4865f30c17a3249474127b911992cb13f46be35d646d288c29 diff --git a/dev-db/sqlite/sqlite-3.32.0.ebuild b/dev-db/sqlite/sqlite-3.32.0.ebuild new file mode 100644 index 000000000000..912a741d6d63 --- /dev/null +++ b/dev-db/sqlite/sqlite-3.32.0.ebuild @@ -0,0 +1,388 @@ +# Copyright 1999-2020 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="doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip ) + tcl? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip ) + test? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip ) + tools? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip ) + !tcl? ( !test? ( !tools? ( https://sqlite.org/2020/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" +fi + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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="doc? ( app-arch/unzip ) + tcl? ( + app-arch/unzip + >=dev-lang/tcl-8.6:0 + ) + test? ( + app-arch/unzip + >=dev-lang/tcl-8.6:0 + ) + tools? ( + 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=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )" + +full_archive() { + [[ "${PV}" == "9999" ]] || use tcl || use test || use tools +} + +pkg_setup() { + if [[ "${PV}" == "9999" ]]; then + S="${WORKDIR}/${PN}" + else + if full_archive; then + S="${WORKDIR}/${PN}-src-${SRC_PV}" + else + S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" + fi + fi +} + +src_unpack() { + if [[ "${PV}" == "9999" ]]; then + local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" + addwrite "${distdir}" + mkdir -p "${distdir}/fossil-src/${PN}" || die + + mkdir "${WORKDIR}/${PN}" || die + pushd "${WORKDIR}/${PN}" > /dev/null || die + if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite.fossil" ]]; then + einfo fossil clone --verbose https://sqlite.org/src sqlite.fossil + fossil clone --verbose https://sqlite.org/src sqlite.fossil || die + echo + else + cp -p "${distdir}/fossil-src/${PN}/sqlite.fossil" . || die + einfo fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src + fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src || die + echo + fi + cp -p sqlite.fossil "${distdir}/fossil-src/${PN}" || die + einfo fossil open --quiet sqlite.fossil + fossil open --quiet sqlite.fossil || die + echo + popd > /dev/null || die + + if use doc; then + mkdir "${WORKDIR}/${PN}-doc" || die + pushd "${WORKDIR}/${PN}-doc" > /dev/null || die + if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" ]]; then + einfo fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil + fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil || die + echo + else + cp -p "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" . || die + einfo fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc + fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc || die + echo + fi + cp -p sqlite-doc.fossil "${distdir}/fossil-src/${PN}" || die + einfo fossil open --quiet sqlite-doc.fossil + fossil open --quiet sqlite-doc.fossil || die + echo + popd > /dev/null || die + fi + else + default + fi +} + +src_prepare() { + if full_archive; then + eapply "${FILESDIR}/${PN}-3.31.0-full_archive-build.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" + else + eapply "${FILESDIR}/${PN}-3.25.0-nonfull_archive-build.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed \ + -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ + -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ + -i configure.ac || die "sed failed" + fi + + eautoreconf + + multilib_copy_sources +} + +multilib_src_configure() { + local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" + local options=() + + options+=( + --enable-$(full_archive && echo load-extension || echo dynamic-extensions) + --enable-threadsafe + ) + if ! full_archive; then + options+=(--disable-static-shell) + fi + + # Support detection of misuse of SQLite API. + # https://sqlite.org/compile.html#enable_api_armor + append-cppflags -DSQLITE_ENABLE_API_ARMOR + + # Support column metadata functions. + # 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 + append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB + + # Support dbstat virtual table. + # 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/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/json1.html + append-cppflags -DSQLITE_ENABLE_JSON1 + + # Support memsys5 memory allocator. + # 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/lang_corefunc.html#sqlite_offset + append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC + + # Support pre-update hook functions. + # https://sqlite.org/c3ref/preupdate_count.html + append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK + + # Support Resumable Bulk Update extension. + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/rtree.html + # https://sqlite.org/geopoly.html + append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + + # Support scan status functions. + # 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/stmt.html + append-cppflags -DSQLITE_ENABLE_STMTVTAB + + # Support Session extension. + # https://sqlite.org/sessionintro.html + options+=(--enable-session) + + # 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/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 + append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + + # Support soundex() function. + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # Support URI filenames. + # https://sqlite.org/uri.html + append-cppflags -DSQLITE_USE_URI + + # debug USE flag. + if full_archive; then + options+=($(use_enable debug)) + else + if use debug; then + append-cppflags -DSQLITE_DEBUG + else + append-cppflags -DNDEBUG + fi + fi + + # icu USE flag. + if use icu; then + # Support ICU extension. + # https://sqlite.org/compile.html#enable_icu + append-cppflags -DSQLITE_ENABLE_ICU + if full_archive; then + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + else + sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + fi + + # readline USE flag. + options+=( + --disable-editline + $(use_enable readline) + ) + if full_archive && use readline; then + options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") + fi + + # secure-delete USE flag. + if use secure-delete; then + # Enable secure_delete pragma by default. + # 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 full_archive; then + options+=(--enable-tcl) + fi + + if [[ "${CHOST}" == *-mint* ]]; then + append-cppflags -DSQLITE_OMIT_WAL + 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 +} + +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 "${D}" -name "*.la" -type f -delete || die + + doman sqlite3.1 + + if use doc; then + rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} || die + ( + docinto html + dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* + ) + fi +} |