diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2017-04-04 21:23:41 +0200 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2017-04-04 15:50:06 -0400 |
commit | 4486cd1d6599120e49ebe589f17b4312647a6239 (patch) | |
tree | fd4fcb497739aa409778bb9165ca2fe91caa5a50 /dev-db | |
parent | media-video/transcode: Set correct subslot in virtual/jpeg dependency. (diff) | |
download | gentoo-4486cd1d6599120e49ebe589f17b4312647a6239.tar.gz gentoo-4486cd1d6599120e49ebe589f17b4312647a6239.tar.bz2 gentoo-4486cd1d6599120e49ebe589f17b4312647a6239.zip |
dev-db/sqlite: Version bump (3.18.0).
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/sqlite/Manifest | 3 | ||||
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.18.0-full_tarball-build.patch | 158 | ||||
-rw-r--r-- | dev-db/sqlite/sqlite-3.18.0.ebuild | 261 |
3 files changed, 422 insertions, 0 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index e599eec48fbc..1dd06bb5ced4 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,6 +1,9 @@ DIST sqlite-autoconf-3160200.tar.gz 2508179 SHA256 65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615 SHA512 83bdd588504f265bbe93fb98a33a292aff5618c14f94d521c8557efbb5f777e82dfbb2d186cbfd4c628ee9522b1fcb73857e24ca2318fa34af3a3f9540e72b9a WHIRLPOOL 850a5051739f65eade0ee5740641a0503870f88d1ebdb40cab36b68d956896270ed59e387d57db74eede5ecd7fc9b3c14bc5841ff02e17eb50abc4701eba18fc DIST sqlite-autoconf-3170000.tar.gz 2515143 SHA256 a4e485ad3a16e054765baf6371826b5000beed07e626510896069c0bf013874c SHA512 bebf2693ade1c99b6a178bbe663f64911bf7751932a2524506994cbbb19ab254e7febe3693a76084e55853c1ea85db9e4ece87192422583555fbe569915a2ca8 WHIRLPOOL c3ddeb9691470dfd10950ef36bca8f05f06faa171e3ee87da66d431ba364b7dd903b1350b8ab1aae445a2696ea56dd3f0c50e07d25bc83a09d673a9b92c84e3f +DIST sqlite-autoconf-3180000.tar.gz 2533004 SHA256 3757612463976e7d08c5e9f0af3021613fc24bbcfe1c51197d6776b9ece9ac5c SHA512 4c2efda1d63d1849f7a351cc57c02cc1820efe3c19f88460a131a1d6ae4f7411e4b7672a5581055e581093df29f65cebd9ff5b24125c18802523b17477dce1ef WHIRLPOOL 5424d028af1649cedeb9192d86939753000bb94676b0578d5bdd33591ddd064f2e9ca60a1abc6e185a8fbbfd13c04361e7bfd82945b3b7c01073b8e79e985031 DIST sqlite-doc-3160200.zip 5521023 SHA256 c13ffbb6019f3849b251c22358f31ccb862a842c0a2379f552f2935600157dcb SHA512 b79d21074d1ab154e3b324fb2943f24321ad5cdbc6e2030f1d21940ae46538462af049e0e0cd7c6cf96dec2c59708eaf70aa4cb3c84ba1a0e87238ffcf31fca2 WHIRLPOOL 4d07279b8f186c4a015324021d60f3e76840594a35a2466cc023cd3ef32b5b01572d8a83db5d96f7281c617a8384485bdef60d390e1c12c4ecbc7e0223e1a194 DIST sqlite-doc-3170000.zip 5533032 SHA256 3102d9eab879074776216357e4c9e272f63d0cda975a0819ec5baba5e0922ff6 SHA512 6a7813be301416dc59401b7732733f44efad60b458ded0f4ed8d845aab0843a1123dd20d1e6f209dd32184a87bcd7e68e213e3676c43d1d05d2df5acc2c64b74 WHIRLPOOL dc1c9b6802985be34ac7819e08883c456a0a76fb1822eff46b26613760063b72888d34323cf15f0f48be69555c0b07b99424a85f29ac580c4ad8fa46b990b723 +DIST sqlite-doc-3180000.zip 5552381 SHA256 6f763eba9f51cb1096d1d40fbdd7ff974203060ddb892fc735adb2d7d42f1dad SHA512 7b65130cb2174d823842cddc912432d206044a8b276fdc2eef437854de7d0b05b8eb5d7aec0ead5c3f88bb7788ae5f1c42ffb1e43ab00774a68f6f7fea72d517 WHIRLPOOL be95f25105aea7f553145b371d64d1192057a2931551758bea418dd41b2ead6e9c07368347320bb041a59051c89ca2c84e3cd4e1f95806cad30dca3adec6042b DIST sqlite-src-3160200.zip 10081950 SHA256 ee77c2cc5cc4a7b0a746a1d4496f7aee0d71c558a3bbfcf8e9e0b35416910337 SHA512 db49551c09830cf4d8997f0a623deeed9f85db5f27e6ca9d8aa5812a23c1466bbcdf8bb56cf009511f72cafec8f09a305127123f54d90437b28770dac34a0897 WHIRLPOOL b8cc52d5111bde34dae02391be8d83f9e703672b2101b36f5409e9acc23743c00561b02bd14b098e29972077fa1866a506d6343b58e4897ca07dac0bb60f4367 DIST sqlite-src-3170000.zip 10120844 SHA256 86754bee6bcaf1f2a6bf4a02676eb3a43d22d4e5d8339e217424cb2be6b748c3 SHA512 e60381de33fbf566507454e4f1dfb7d3ada554e5c919f05f0dd2f96a6f266adaa62681437f21fdea1c24de57fb6141b798f97854918faa189b507f12f11e0d36 WHIRLPOOL 535c598f7bb9ddbecdd1ca841c0ecf398831c494c99c38542d1cbb756d8333260d6891aa36167aeba75df83fbaf402465dc65c9b3a7fb6685fa54420cb1a1342 +DIST sqlite-src-3180000.zip 10166686 SHA256 eab4d137abd5aa1164244a5d558c9a02122071daf36984b236f8441d749b9ba6 SHA512 b82c5388066f2e905c067d75e890bf2ff03a522733b8c8e0ebdfffe1804d7ecb39b72f6d808fce59133ac8c645f8b6e163e3dff7bbb0d66bbe8748e069ca7a84 WHIRLPOOL b92890b587761dfd550b39fbd64c4fddaf58e495c0f2b7526a624c3415147494648add3fa6968a09411e73c9b0653ec541a49a34daeb7ad2ae4840e829528380 diff --git a/dev-db/sqlite/files/sqlite-3.18.0-full_tarball-build.patch b/dev-db/sqlite/files/sqlite-3.18.0-full_tarball-build.patch new file mode 100644 index 000000000000..1278630c0927 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.18.0-full_tarball-build.patch @@ -0,0 +1,158 @@ +Link executables against libsqlite3.so. +Increase timeout for fuzzcheck. +Fix building with dlopen() not available. + +--- Makefile.in ++++ Makefile.in +@@ -562,6 +562,7 @@ + # + SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 + # SHELL_OPT += -DSQLITE_ENABLE_FTS5 ++SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB + SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS + SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1 +@@ -587,25 +588,25 @@ + + libtclsqlite3.la: tclsqlite.lo libsqlite3.la + $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ +- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \ ++ libsqlite3.la @TCL_STUB_LIB_SPEC@ \ + -rpath "$(TCLLIBDIR)" \ + -version-info "8:6:8" \ + -avoid-version + +-sqlite3$(TEXE): $(TOP)/src/shell.c sqlite3.c +- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \ +- $(TOP)/src/shell.c sqlite3.c \ +- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)" ++sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la ++ $(LTLINK) $(READLINE_FLAGS) -o $@ \ ++ $(TOP)/src/shell.c libsqlite3.la \ ++ $(LIBREADLINE) + +-sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h +- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS) ++sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la + +-dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h +- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS) ++dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la + +-scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo ++scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la + $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \ +- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS) ++ $(TOP)/ext/misc/scrub.c libsqlite3.la + + srcck1$(BEXE): $(TOP)/tool/srcck1.c + $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c +@@ -681,7 +682,7 @@ + # Rule to build the amalgamation + # + sqlite3.lo: sqlite3.c +- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c ++ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c + + # Rules to build the LEMON compiler generator + # +@@ -1107,13 +1108,13 @@ + + # Fuzz testing + fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) +- ./fuzzcheck$(TEXE) $(FUZZDATA) ++ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA) + + fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA) +- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA) ++ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA) + + valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) +- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA) ++ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA) + + # The veryquick.test TCL tests. + # +@@ -1143,36 +1144,35 @@ + smoketest: $(TESTPROGS) fuzzcheck$(TEXE) + ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS) + +-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl ++sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl + echo "#define TCLSH 2" > $@ +- echo "#define SQLITE_ENABLE_DBSTAT_VTAB 1" >> $@ +- cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@ ++ cat $(TOP)/src/tclsqlite.c >> $@ + echo "static const char *tclsh_main_loop(void){" >> $@ + echo "static const char *zMainloop = " >> $@ + $(TCLSH_CMD) $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@ + echo "; return zMainloop; }" >> $@ + +-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c +- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS) ++sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la ++ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL) + +-dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo ++dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la + $(LTLINK) -DDBDUMP_STANDALONE -o $@ \ +- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS) ++ $(TOP)/ext/misc/dbdump.c libsqlite3.la + +-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS) ++showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la + +-showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS) ++showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la + +-showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS) ++showjournal$(TEXE): $(TOP)/tool/showjournal.c ++ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c + +-showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS) ++showwal$(TEXE): $(TOP)/tool/showwal.c ++ $(LTLINK) -o $@ $(TOP)/tool/showwal.c + +-changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo +- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS) ++changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la ++ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la + + rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo + $(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS) +@@ -1191,11 +1191,11 @@ + kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c + $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS) + +-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo +- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS) ++rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la ++ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la + +-loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la +- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS) ++loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la ++ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ + + # This target will fail if the SQLite amalgamation contains any exported + # symbols that do not begin with "sqlite3_". It is run as part of the +--- configure.ac ++++ configure.ac +@@ -584,6 +584,9 @@ + if test "${use_loadextension}" = "yes" ; then + OPT_FEATURE_FLAGS="" + AC_SEARCH_LIBS(dlopen, dl) ++ if test "${ac_cv_search_dlopen}" = "no" ; then ++ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" ++ fi + else + OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" + fi diff --git a/dev-db/sqlite/sqlite-3.18.0.ebuild b/dev-db/sqlite/sqlite-3.18.0.ebuild new file mode 100644 index 000000000000..a607c0afbdc2 --- /dev/null +++ b/dev-db/sqlite/sqlite-3.18.0.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator + +SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))" +DOC_PV="${SRC_PV}" +# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))" + +DESCRIPTION="A SQL Database Engine in a C Library" +HOMEPAGE="https://sqlite.org/" +SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip ) + tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) + test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) + tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip ) + !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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" + +RDEPEND="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} + doc? ( app-arch/unzip ) + tcl? ( app-arch/unzip ) + test? ( + app-arch/unzip + dev-lang/tcl:0[${MULTILIB_USEDEP}] + ) + tools? ( app-arch/unzip )" + +full_tarball() { + use tcl || use test || use tools +} + +pkg_setup() { + if full_tarball; then + S="${WORKDIR}/${PN}-src-${SRC_PV}" + else + S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" + fi +} + +src_prepare() { + if full_tarball; then + eapply -p0 "${FILESDIR}/${PN}-3.18.0-full_tarball-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 -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-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 CPPFLAGS="${CPPFLAGS}" options=() + + options+=( + --enable-$(full_tarball && echo load-extension || echo dynamic-extensions) + --enable-threadsafe + ) + if ! full_tarball; 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 dbstat virtual table. + # https://sqlite.org/dbstat.html + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + + # 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 Resumable Bulk Update extension. + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/rtree.html + append-cppflags -DSQLITE_ENABLE_RTREE + + # 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 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 soundex() function. + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # debug USE flag. + if full_tarball; 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_tarball; 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_tarball && 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_tarball; then + options+=(--enable-tcl) + fi + + if [[ "${CHOST}" == *-mint* ]]; then + append-cppflags -DSQLITE_OMIT_WAL + 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 rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer + fi +} + +multilib_src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + 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 rbu sqlite3-rbu + install_tool scrub sqlite3-scrub + install_tool showdb sqlite3-show-db + install_tool showjournal sqlite3-show-journal + install_tool showstat4 sqlite3-show-stat4 + install_tool showwal sqlite3-show-wal + install_tool sqldiff sqlite3-diff + install_tool sqlite3_analyzer sqlite3-analyzer + + unset -f install_tool + fi +} + +multilib_src_install_all() { + prune_libtool_files + + doman sqlite3.1 + + if use doc; then + rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} + ( + docinto html + dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* + ) + fi +} |