From 266adc0dd4ef16721ec51ffdc69df7325f6824fb Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Thu, 23 Apr 2020 16:44:23 +0200 Subject: dev-db/sqlite: security cleanup Bug: https://bugs.gentoo.org/711526 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Thomas Deutschmann --- dev-db/sqlite/Manifest | 6 - dev-db/sqlite/sqlite-3.29.0.ebuild | 395 ------------------------------------- dev-db/sqlite/sqlite-3.30.1.ebuild | 388 ------------------------------------ 3 files changed, 789 deletions(-) delete mode 100644 dev-db/sqlite/sqlite-3.29.0.ebuild delete mode 100644 dev-db/sqlite/sqlite-3.30.1.ebuild (limited to 'dev-db') diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index af34cd489009..a5126e72a2e2 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,9 +1,3 @@ -DIST sqlite-autoconf-3290000.tar.gz 2833613 BLAKE2B b68a4f9bfe90653f5ce9dbf94b44cecc843fbb639883a7be9dd40150749f8d2eca0c231b215137d2f8da78d33356d72640a943ba06516c6d7c10ebd04cae4766 SHA512 85dcaa72cc2476c628e801d4ce46cf10ed8997f56cb0334062df5553f18c29d607883a1049bf75258204f2f53a29a02a01f014dcca383b05dfac1e2123778024 -DIST sqlite-autoconf-3300100.tar.gz 2848951 BLAKE2B 3a541a2b07ebbaf7ddca4693b71765e2ecd11974dd64b4a7a19eaee4eea8a17a6004c69f3b2163213fe7568480152709745e029107711813d4bdd41052763cd1 SHA512 9ec0283c417fb0323b0e43550af2a49e9a63988e4212c27ea62cc9da3534caa6faf5bdc7e051b6772c4ce61560a433b3d3288b68e05e9ba8495f61a3bcebda3e DIST sqlite-autoconf-3310100.tar.gz 2887243 BLAKE2B ef5d40b6e6c59a51ae95368eb9f6a938188813f89d5328ea1c1180ef35f124c14b3e83b0832ae5c2fa24cc2df352f1b0ea5f20b64d0762d50a700d9895f9a12e SHA512 d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617 -DIST sqlite-doc-3290000.zip 9415641 BLAKE2B 97fef1f01d3e7730e5220541ad9ccdf9f8538aa43939c0f513919c8505b3a4f4b4c89eb2e04fddae80b7eeed440eb0f06f7cfd93cd56f0539bd6fdd5f47e1ff7 SHA512 ca856cf250e395d9c7e9817337adb5a16b1d96a20548a4010f5137188d35bb9d49a4a6da47bf2a696deffa68d2976dbb35a036adce19b8320e0e286876ac094f -DIST sqlite-doc-3300100.zip 9485342 BLAKE2B bf5e3909a327c773106d4990b3e3be5dd63db2dbc1a7f8a7c1bd16f39bec83a6b2a98c4c56ded3b58f4087dcdcc934e542db36e142bf338a411ed7115d67d6b3 SHA512 373e843015307071443a0db5fb930f9120718f6118cc2e21b506fdc8535fbe6996e9889e8b5809ffb91257addfe778bdf3412a81e11f6bced2c5e0330337d00d DIST sqlite-doc-3310100.zip 9600405 BLAKE2B 324fb7a0a38bc56476e41504c14996e9d5d83ac659403991515413d49f5ee3aad064ccece25f52b6041ef26bf23f320a9be1b6b02c5fbe96c36372107f54fc2e SHA512 5572e2c2dac30c014ef9cd60a620b7a7bb610f91a47e2890c0641540d39b9d5ce0e914ee697583130317633918b7827e2612a7cbc024f5bd6aa22ad28a78b56b -DIST sqlite-src-3290000.zip 12557725 BLAKE2B b1aeb80734a2cb7d45c6f2e278bad2996b56ecaf792a8f26322bf50aeaa430eea267f23edb1721bb80ecb6e0c8e14c7a5d8f26178d056fd23efb52f496cc03e1 SHA512 575398fbe20c6471ee2abcbde170b8d48efbb3cb2716a65f42f05c52429a45d14e8046e50c59bbf75bfe2d8f151c34abd50b440c50af571f19e19f3290b230df -DIST sqlite-src-3300100.zip 12648162 BLAKE2B bb239bac9115c74778de0347b4f4e24a82f149f55fe7dea8b89eb859bfe4cf6f6c2f065f5e1741c40624bb88ecd395140064a41d475a1c64a0188990fd6248e7 SHA512 f40236d0bb25f3ea01a1192dace3b6732fb671fbdabb7cfa8d0cc2b99d21aef00ae380999fdee904501cb03304644cddfb2506951f36a2f6a83693f311c3c11d DIST sqlite-src-3310100.zip 12510166 BLAKE2B a856695e8552b8b4dcb28452fdbd48305fdb9072f9d6587f4b1f4445daf386e920eb936dcb50fdfe41a49f84b26a7c5fedcffea5acf3ba3fa935c36695d4b8ee SHA512 af92a00877bcd90372d6f83a27fea12b4fe8d1155b223a6bccbccc31bb8e3d2269cd9e68f329bc55f70d1068ccbf220ff5abccea6f593fd7a3a4bdd732d1cdbe diff --git a/dev-db/sqlite/sqlite-3.29.0.ebuild b/dev-db/sqlite/sqlite-3.29.0.ebuild deleted file mode 100644 index b85b5aea728c..000000000000 --- a/dev-db/sqlite/sqlite-3.29.0.ebuild +++ /dev/null @@ -1,395 +0,0 @@ -# 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/2019/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2019/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2019/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2019/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2019/${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.29.0-full_archive-build.patch" - eapply "${FILESDIR}/${PN}-3.29.0-full_archive-tests.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 PRAGMA function_list, PRAGMA module_list and PRAGMA pragma_list statements. - # https://sqlite.org/pragma.html#pragma_function_list - # https://sqlite.org/pragma.html#pragma_module_list - # https://sqlite.org/pragma.html#pragma_pragma_list - append-cppflags -DSQLITE_INTROSPECTION_PRAGMAS - - # 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 -} diff --git a/dev-db/sqlite/sqlite-3.30.1.ebuild b/dev-db/sqlite/sqlite-3.30.1.ebuild deleted file mode 100644 index 554790b13d06..000000000000 --- a/dev-db/sqlite/sqlite-3.30.1.ebuild +++ /dev/null @@ -1,388 +0,0 @@ -# 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/2019/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2019/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2019/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2019/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2019/${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.29.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 -} -- cgit v1.2.3-65-gdbad