commit:     de3e209e06e06633a4be943468831d6392e54680
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Tue Oct  2 19:18:50 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Oct  2 20:07:24 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de3e209e

dev-db/sqlite: Version bump (3.25.2).

Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-db/sqlite/Manifest                             |   3 +
 .../files/sqlite-3.25.0-full_archive-build.patch   | 407 +++++++++++++++++++++
 .../sqlite-3.25.0-nonfull_archive-build.patch      |  14 +
 ...low_window_functions_in_recursive_queries.patch |  49 +++
 .../files/sqlite-3.25.2-full_archive-tests.patch   |  70 ++++
 ...low_window_functions_in_recursive_queries.patch |  19 +
 dev-db/sqlite/sqlite-3.25.2.ebuild                 | 322 ++++++++++++++++
 7 files changed, 884 insertions(+)

diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index f351977d074..d61f68c44ac 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,6 +1,9 @@
 DIST sqlite-autoconf-3230100.tar.gz 2675362 BLAKE2B 
2dd075f0dc05425563a8e679bb463724296294b5845746f06b51a24c9601be203ee0f2213f43eaca0757fcbb54b777cee746d873c98f377a0b010d8066d7fcb5
 SHA512 
52cae7ed0678b763d40373ae260672b906861379428529a58a017cbc82419a6b109e0b2ac7ff5532e6d941693cc4ab68e6563f424b92b3b27c8916859a6e4826
 DIST sqlite-autoconf-3240000.tar.gz 2699252 BLAKE2B 
c8beb3b90bdd06f76cafeba859cbf91cf4d0cb313fc9202d210ccbad5fca7f9a062ede63387e814d664f0ae38bcfa48db222f466dbcd429fecfb53cfdac155c4
 SHA512 
eaec866de26003ec36559aab15dd18dc0e6029453002a4eec5e176bb35a712b8b06c235436e6c1a226b67c7eb90d7a26c2b3b3d9a5e6e92a5af485236b77c878
+DIST sqlite-autoconf-3250200.tar.gz 2763876 BLAKE2B 
3d97cc60edf8f91855215bd59260362665c8ec7699510f2e07c7ba57e10c400dcc99bb392e216f798bef1ffa7120b48ee62ce144a871741ef57b3aefeab875d6
 SHA512 
5ef9a6dfbb0822257af1a3a379785a95ab02edecbbb53b57074ddd0b8dc294fc07cbb9a8a7acc4e1640fb1743525ed6331fecebbddce01bc017330b20e127ad9
 DIST sqlite-doc-3230100.zip 8882546 BLAKE2B 
1e80647e3789b9130a93e881933fb1260794d9ccf359969a16bdeb0df5a51787eaf8404641c4b760bedd45063d46f8874fd74a4da1fef0234f3d8e92db754d76
 SHA512 
d3a42621480a928446c5f71d0f2ee68e245b071971da38438f9070bd5bcbe1930ea5bd20e06c68543df75badd2e4565abc94420df50b7152c9cd129587471471
 DIST sqlite-doc-3240000.zip 9030826 BLAKE2B 
4444e3dd0ce782e19fa01c881e0b5453723419ef1cf95cbe751d759a264bbe288a5c23a2b6514ed459b99b11637349c02def68fed7df8625bfc161307e44564c
 SHA512 
31e9046cea569d7ad1b3af176e1bb18cd59474afb6849871ead6e7c9c096f046162fb313a38684a8c944fad9f689c4c3c692be1d7dc6a8ef5a6685bbc7dfdab6
+DIST sqlite-doc-3250200.zip 9229732 BLAKE2B 
9bc4499c2934d15428dd30e0522362a2c2e703061c293f1b657f01d3945612760be3b4f145ddf76d9cf87953fae26884646887e53c0c55683ce42bc239dcf952
 SHA512 
a0b764ca0eea0e9719d46b6e1f92db78578457c8331976d4712c56cd10fc062fd73629686a0e45dfdeb505fbfbe0c53652a5e64507702ff4e12b62a2fc8d8211
 DIST sqlite-src-3230100.zip 10849436 BLAKE2B 
6bed0a45c83ddb51d665835d174f623b30b1c3b81562fdea2317b58d876a0852136fe4f8a3ebc7679676f366e19c84d0ad2f54d3d8c73712145099975f80cf1a
 SHA512 
69a87b76860c3b172d9e68b0fc0b8c157b606375e2b7d793ce4bd4b898ef737cd721189bc6a3342c749e224e60fa96203d449668c49dff2ebdc682b49630a59b
 DIST sqlite-src-3240000.zip 10980065 BLAKE2B 
201a59cb34271e5ac79e96e4e2ea64f8b61aa99c44eedf61c0a21752ad4376caaf7980a6923dca66266b1a315d9867871d0d172c17907b4147c15431aa212a70
 SHA512 
812c2df7179abb1e445b5b3e161c940b120c53366a7b2c1f0bfc3599cd9921e5543ba39ca3f297eeaefec318f10c15f630f00f9cf04133c7cd419a04f3bbdd0e
+DIST sqlite-src-3250200.zip 11381811 BLAKE2B 
6183436f66c862c32d1dfd59ea4ccb5eaf3dd516ffcf9d7edf786e8fbf56eff3cb84d08e291b2e86fae25e537bed452aed693bdb0f0d6bb6581da86641013557
 SHA512 
7354af2d45c574ba867fab8aabc6ff903279f028aebed50c71019066df78f61a0b941564c572c87b0f3ed3e5783bf325a690a9957d775228fbbb293dd9a5ad37

diff --git a/dev-db/sqlite/files/sqlite-3.25.0-full_archive-build.patch 
b/dev-db/sqlite/files/sqlite-3.25.0-full_archive-build.patch
new file mode 100644
index 00000000000..d39d843d12c
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.25.0-full_archive-build.patch
@@ -0,0 +1,407 @@
+Move some code to libsqlite3.so to avoid duplication.
+Link executables against libsqlite3.so.
+Increase timeout for fuzzcheck.
+Fix building with dlopen() not available.
+
+--- /Makefile.in
++++ /Makefile.in
+@@ -310,6 +310,9 @@
+ # Source code for extensions
+ #
+ SRC += \
++  $(TOP)/ext/expert/sqlite3expert.c \
++  $(TOP)/ext/expert/sqlite3expert.h
++SRC += \
+   $(TOP)/ext/fts1/fts1.c \
+   $(TOP)/ext/fts1/fts1.h \
+   $(TOP)/ext/fts1/fts1_hash.c \
+@@ -359,8 +362,11 @@
+   $(TOP)/ext/rbu/sqlite3rbu.h \
+   $(TOP)/ext/rbu/sqlite3rbu.c
+ SRC += \
++  $(TOP)/ext/misc/appendvfs.c \
+   $(TOP)/ext/misc/json1.c \
+-  $(TOP)/ext/misc/stmt.c
++  $(TOP)/ext/misc/sqlar.c \
++  $(TOP)/ext/misc/stmt.c \
++  $(TOP)/ext/misc/zipfile.c
+ 
+ # Generated source code files
+ #
+@@ -430,7 +436,6 @@
+ # Statically linked extensions
+ #
+ TESTSRC += \
+-  $(TOP)/ext/expert/sqlite3expert.c \
+   $(TOP)/ext/expert/test_expert.c \
+   $(TOP)/ext/misc/amatch.c \
+   $(TOP)/ext/misc/carray.c \
+@@ -453,8 +458,7 @@
+   $(TOP)/ext/misc/spellfix.c \
+   $(TOP)/ext/misc/totype.c \
+   $(TOP)/ext/misc/unionvtab.c \
+-  $(TOP)/ext/misc/wholenumber.c \
+-  $(TOP)/ext/misc/zipfile.c
++  $(TOP)/ext/misc/wholenumber.c
+ 
+ # Source code to the library files needed by the test fixture
+ #
+@@ -620,25 +624,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):       shell.c sqlite3.c
+-      $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
+-              shell.c sqlite3.c \
+-              $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
++sqlite3$(TEXE):       shell.c libsqlite3.la
++      $(LTLINK) $(READLINE_FLAGS) -o $@ \
++              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
+@@ -717,7 +721,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
+ #
+@@ -1017,14 +1021,9 @@
+ # Source files that go into making shell.c
+ SHELL_SRC = \
+       $(TOP)/src/shell.c.in \
+-        $(TOP)/ext/misc/appendvfs.c \
+       $(TOP)/ext/misc/shathree.c \
+       $(TOP)/ext/misc/fileio.c \
+       $(TOP)/ext/misc/completion.c \
+-      $(TOP)/ext/misc/sqlar.c \
+-      $(TOP)/ext/expert/sqlite3expert.c \
+-      $(TOP)/ext/expert/sqlite3expert.h \
+-      $(TOP)/ext/misc/zipfile.c \
+         $(TOP)/src/test_windirent.c
+ 
+ shell.c:      $(SHELL_SRC) $(TOP)/tool/mkshellc.tcl
+@@ -1183,15 +1182,15 @@
+ 
+ # Fuzz testing
+ fuzztest:     fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) 
$(TOP)/test/sessionfuzz-data1.db
+-      ./fuzzcheck$(TEXE) $(FUZZDATA)
++      ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
+       ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
+ 
+ fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) 
$(TOP)/test/sessionfuzz-data1.db
+-      ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA)
++      ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA)
+       ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
+ 
+ valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA) sessionfuzz$(TEXE) 
$(TOP)/test/sessionfuzz-data1.db
+-      valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 
600 $(FUZZDATA)
++      valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 
3600 $(FUZZDATA)
+       valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db
+ 
+ # The veryquick.test TCL tests.
+@@ -1222,24 +1221,23 @@
+ smoketest:    $(TESTPROGS) fuzzcheck$(TEXE)
+       ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
+ 
+-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c 
$(TOP)/tool/spaceanal.tcl $(TOP)/tool/mkccode.tcl 
$(TOP)/tool/sqlite3_analyzer.c.in
++sqlite3_analyzer.c:   $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl 
$(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in
+       $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqlite3_analyzer.c.in 
>sqlite3_analyzer.c
+ 
+-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)
+ 
+-sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl 
$(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in   
++sqltclsh.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl 
$(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in 
+       $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in 
>sqltclsh.c
+ 
+-sqltclsh$(TEXE): sqltclsh.c
+-      $(LTLINK) sqltclsh.c -o $@ $(LIBTCL) $(TLIBS)
++sqltclsh$(TEXE): sqltclsh.c libsqlite3.la
++      $(LTLINK) sqltclsh.c -o $@ libsqlite3.la $(LIBTCL)
+ 
+-sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h 
$(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c
+-      $(LTLINK)       $(TOP)/ext/expert/sqlite3expert.h 
$(TOP)/ext/expert/sqlite3expert.c $(TOP)/ext/expert/expert.c sqlite3.c -o 
sqlite3_expert $(TLIBS)
++sqlite3_expert$(TEXE): $(TOP)/ext/expert/sqlite3expert.h 
$(TOP)/ext/expert/expert.c libsqlite3.la
++      $(LTLINK) $(TOP)/ext/expert/expert.c -o sqlite3_expert libsqlite3.la
+ 
+ CHECKER_DEPS =\
+   $(TOP)/tool/mkccode.tcl \
+-  sqlite3.c \
+   $(TOP)/src/tclsqlite.c \
+   $(TOP)/ext/repair/sqlite3_checker.tcl \
+   $(TOP)/ext/repair/checkindex.c \
+@@ -1250,30 +1248,30 @@
+ sqlite3_checker.c:    $(CHECKER_DEPS)
+       $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl 
$(TOP)/ext/repair/sqlite3_checker.c.in >$@
+ 
+-sqlite3_checker$(TEXE):       sqlite3_checker.c
+-      $(LTLINK) sqlite3_checker.c -o $@ $(LIBTCL) $(TLIBS)
++sqlite3_checker$(TEXE):       sqlite3_checker.c libsqlite3.la
++      $(LTLINK) sqlite3_checker.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
+ 
+ showshm$(TEXE):       $(TOP)/tool/showshm.c
+       $(LTLINK) -o $@ $(TOP)/tool/showshm.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)
+@@ -1295,11 +1293,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
+@@ -587,6 +587,9 @@
+ if test "${enable_load_extension}" = "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
+--- /ext/misc/sqlar.c
++++ /ext/misc/sqlar.c
+@@ -14,6 +14,8 @@
+ ** for working with sqlar archives and used by the shell tool's built-in
+ ** sqlar support.
+ */
++#ifdef SQLITE_HAVE_ZLIB
++
+ #include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+ #include <zlib.h>
+@@ -119,3 +121,5 @@
+   }
+   return rc;
+ }
++
++#endif /* SQLITE_HAVE_ZLIB */
+--- /ext/misc/zipfile.c
++++ /ext/misc/zipfile.c
+@@ -24,6 +24,8 @@
+ **    *  No support for zip64 extensions
+ **    *  Only the "inflate/deflate" (zlib) compression method is supported
+ */
++#ifdef SQLITE_HAVE_ZLIB
++
+ #include "sqlite3ext.h"
+ SQLITE_EXTENSION_INIT1
+ #include <stdio.h>
+@@ -2175,3 +2177,5 @@
+   (void)pzErrMsg;  /* Unused parameter */
+   return zipfileRegister(db);
+ }
++
++#endif /* SQLITE_HAVE_ZLIB */
+--- /ext/repair/sqlite3_checker.c.in
++++ /ext/repair/sqlite3_checker.c.in
+@@ -2,6 +2,7 @@
+ ** Read an SQLite database file and analyze its space utilization.  Generate
+ ** text on standard output.
+ */
++#define SQLITE_CORE 1
+ #define TCLSH_INIT_PROC sqlite3_checker_init_proc
+ #define SQLITE_ENABLE_DBPAGE_VTAB 1
+ #define SQLITE_ENABLE_JSON1 1
+@@ -14,7 +15,7 @@
+ #define SQLITE_OMIT_SHARED_CACHE 1
+ #define SQLITE_DEFAULT_MEMSTATUS 0
+ #define SQLITE_MAX_EXPR_DEPTH 0
+-INCLUDE sqlite3.c
++#include "sqlite3.h"
+ INCLUDE $ROOT/src/tclsqlite.c
+ INCLUDE $ROOT/ext/misc/btreeinfo.c
+ INCLUDE $ROOT/ext/repair/checkindex.c
+--- /src/shell.c.in
++++ /src/shell.c.in
+@@ -61,6 +61,7 @@
+ #include <stdio.h>
+ #include <assert.h>
+ #include "sqlite3.h"
++#include "ext/expert/sqlite3expert.h"
+ typedef sqlite3_int64 i64;
+ typedef sqlite3_uint64 u64;
+ typedef unsigned char u8;
+@@ -127,6 +128,10 @@
+ # define SHELL_USE_LOCAL_GETLINE 1
+ #endif
+ 
++#ifdef SQLITE_HAVE_ZLIB
++#include <zlib.h>
++#endif
++
+ 
+ #if defined(_WIN32) || defined(WIN32)
+ # include <io.h>
+@@ -936,13 +941,6 @@
+ INCLUDE ../ext/misc/shathree.c
+ INCLUDE ../ext/misc/fileio.c
+ INCLUDE ../ext/misc/completion.c
+-INCLUDE ../ext/misc/appendvfs.c
+-#ifdef SQLITE_HAVE_ZLIB
+-INCLUDE ../ext/misc/zipfile.c
+-INCLUDE ../ext/misc/sqlar.c
+-#endif
+-INCLUDE ../ext/expert/sqlite3expert.h
+-INCLUDE ../ext/expert/sqlite3expert.c
+ 
+ #if defined(SQLITE_ENABLE_SESSION)
+ /*
+@@ -3654,7 +3652,9 @@
+     sqlite3_shathree_init(p->db, 0, 0);
+     sqlite3_completion_init(p->db, 0, 0);
+ #ifdef SQLITE_HAVE_ZLIB
++    extern int sqlite3_zipfile_init(sqlite3 *, char **, const 
sqlite3_api_routines *);
+     sqlite3_zipfile_init(p->db, 0, 0);
++    extern int sqlite3_sqlar_init(sqlite3 *, char **, const 
sqlite3_api_routines *);
+     sqlite3_sqlar_init(p->db, 0, 0);
+ #endif
+     sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0,
+@@ -5549,6 +5549,7 @@
+         goto end_ar_command;
+       }
+       sqlite3_fileio_init(cmd.db, 0, 0);
++      extern int sqlite3_sqlar_init(sqlite3 *, char **, const 
sqlite3_api_routines *);
+       sqlite3_sqlar_init(cmd.db, 0, 0);
+       sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p,
+                               shellPutsFunc, 0, 0);
+@@ -8584,6 +8585,7 @@
+ #endif
+   }
+   data.out = stdout;
++  extern int sqlite3_appendvfs_init(sqlite3 *, char **, const 
sqlite3_api_routines *);
+   sqlite3_appendvfs_init(0,0,0);
+ 
+   /* Go ahead and open the database file if it already exists.  If the
+--- /tool/mksqlite3c.tcl
++++ /tool/mksqlite3c.tcl
+@@ -117,6 +117,7 @@
+    rtree.h
+    sqlite3session.h
+    sqlite3.h
++   sqlite3expert.h
+    sqlite3ext.h
+    sqlite3rbu.h
+    sqliteicu.h
+@@ -403,6 +404,10 @@
+    sqlite3session.c
+    fts5.c
+    stmt.c
++   appendvfs.c
++   sqlar.c
++   sqlite3expert.c
++   zipfile.c
+ } {
+   copy_file tsrc/$file
+ }
+--- /tool/sqlite3_analyzer.c.in
++++ /tool/sqlite3_analyzer.c.in
+@@ -14,9 +14,6 @@
+ #define SQLITE_DEFAULT_MEMSTATUS 0
+ #define SQLITE_MAX_EXPR_DEPTH 0
+ #define SQLITE_OMIT_LOAD_EXTENSION 1
+-#ifndef USE_EXTERNAL_SQLITE
+-INCLUDE sqlite3.c
+-#endif
+ INCLUDE $ROOT/src/tclsqlite.c
+ 
+ const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){
+--- /tool/sqltclsh.c.in
++++ /tool/sqltclsh.c.in
+@@ -27,19 +27,17 @@
+ #define SQLITE_OMIT_SHARED_CACHE 1
+ #define SQLITE_DEFAULT_MEMSTATUS 0
+ #define SQLITE_MAX_EXPR_DEPTH 0
+-INCLUDE sqlite3.c
+-INCLUDE $ROOT/ext/misc/appendvfs.c
+-#ifdef SQLITE_HAVE_ZLIB
+-INCLUDE $ROOT/ext/misc/zipfile.c
+-INCLUDE $ROOT/ext/misc/sqlar.c
+-#endif
++#include "sqlite3.h"
+ INCLUDE $ROOT/src/tclsqlite.c
+ 
+ const char *sqlite3_tclapp_init_proc(Tcl_Interp *interp){
+   (void)interp;
++  extern int sqlite3_appendvfs_init(sqlite3 *,char **, const 
sqlite3_api_routines *);
+   sqlite3_appendvfs_init(0,0,0);
+ #ifdef SQLITE_HAVE_ZLIB
++  extern int sqlite3_sqlar_init(sqlite3 *, char **, const 
sqlite3_api_routines *);
+   sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init);
++  extern int sqlite3_zipfile_init(sqlite3 *, char **, const 
sqlite3_api_routines *);
+   sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init);
+ #endif
+ 

diff --git a/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch 
b/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch
new file mode 100644
index 00000000000..be0a7e30dde
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch
@@ -0,0 +1,14 @@
+Fix building with dlopen() not available.
+
+--- /configure.ac
++++ /configure.ac
+@@ -102,6 +102,9 @@
+   [], [enable_dynamic_extensions=yes])
+ if test x"$enable_dynamic_extensions" != "xno"; then
+   AC_SEARCH_LIBS(dlopen, dl)
++  if test "${ac_cv_search_dlopen}" = "no"; then
++    BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_OMIT_LOAD_EXTENSION=1"
++  fi
+ else
+   BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_OMIT_LOAD_EXTENSION=1"
+ fi

diff --git 
a/dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch
 
b/dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch
new file mode 100644
index 00000000000..6b34e2e4f9d
--- /dev/null
+++ 
b/dev-db/sqlite/files/sqlite-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch
@@ -0,0 +1,49 @@
+https://sqlite.org/src/info/e8275b415a2f03bee
+https://sqlite.org/src/info/7fc2994434c7d9ed
+
+--- /src/select.c
++++ /src/select.c
+@@ -2318,6 +2318,13 @@
+   Expr *pLimit;                 /* Saved LIMIT and OFFSET */
+   int regLimit, regOffset;      /* Registers used by LIMIT and OFFSET */
+ 
++#ifndef SQLITE_OMIT_WINDOWFUNC
++  if( p->pWin ){
++    sqlite3ErrorMsg(pParse, "cannot use window functions in recursive 
queries");
++    return;
++  }
++#endif
++
+   /* Obtain authorization to do a recursive query */
+   if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return;
+ 
+--- /test/with1.test
++++ /test/with1.test
+@@ -865,6 +865,27 @@
+   SELECT * FROM i;
+ } {1 {recursive aggregate queries not supported}}
+ 
++# Or window-function recursive queries. Ticket e8275b41.
++#
++ifcapable windowfunc {
++  do_catchsql_test 16.2 {
++    WITH RECURSIVE
++      i(x) AS (VALUES(1) UNION SELECT count(*) OVER () FROM i)
++      SELECT * FROM i;
++  } {1 {cannot use window functions in recursive queries}}
++  do_catchsql_test 16.3 {
++    WITH RECURSIVE
++      t(id, parent) AS (VALUES(1,2)),
++      q(id, parent, rn) AS (
++          VALUES(1,2,3)
++          UNION ALL
++          SELECT t.*, ROW_NUMBER() OVER (ORDER BY t.id) AS rn
++          FROM q JOIN t ON t.parent = q.id
++          )
++        SELECT * FROM q;
++  } {1 {cannot use window functions in recursive queries}}
++}
++
+ #-------------------------------------------------------------------------
+ do_execsql_test 17.1 {
+   WITH x(a) AS (

diff --git a/dev-db/sqlite/files/sqlite-3.25.2-full_archive-tests.patch 
b/dev-db/sqlite/files/sqlite-3.25.2-full_archive-tests.patch
new file mode 100644
index 00000000000..2868b3fc123
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.25.2-full_archive-tests.patch
@@ -0,0 +1,70 @@
+https://sqlite.org/src/info/d04b2013b5436430
+
+--- /test/like3.test
++++ /test/like3.test
+@@ -130,12 +130,14 @@
+ do_execsql_test like3-5.110 {
+   SELECT x FROM t5a WHERE x LIKE '/a%';
+ } {/abc}
++ifcapable !icu {
+ do_eqp_test like3-5.111 {
+   SELECT x FROM t5a WHERE x LIKE '/a%';
+ } {
+   QUERY PLAN
+   `--SEARCH TABLE t5a USING COVERING INDEX sqlite_autoindex_t5a_1 (x>? AND 
x<?)
+ }
++}
+ do_execsql_test like3-5.120 {
+   SELECT x FROM t5a WHERE x LIKE '^12%' ESCAPE '^';
+ } {123}
+--- /test/window6.test
++++ /test/window6.test
+@@ -147,17 +147,17 @@
+ #-------------------------------------------------------------------------
+ #
+ 
+-do_execsql_test 6.0 {
+-  SELECT LIKE('!', '', '!') x WHERE x;
+-} {}
+-
+-do_execsql_test 6.1 {
+-  SELECT LIKE("!","","!")""WHeRE"";
+-} {}
+-
+-do_catchsql_test 6.2 {
+-  SELECT LIKE("!","","!")""window"";
+-} {1 {near "window": syntax error}}
++ifcapable !icu {
++  do_execsql_test 6.0 {
++    SELECT LIKE('!', '', '!') x WHERE x;
++  } {}
++  do_execsql_test 6.1 {
++    SELECT LIKE("!","","!")""WHeRE"";
++  } {}
++  do_catchsql_test 6.2 {
++    SELECT LIKE("!","","!")""window"";
++  } {1 {near "window": syntax error}}
++}
+ 
+ reset_db 
+ do_execsql_test 7.0 {
+@@ -166,9 +166,11 @@
+   INSERT INTO t1 VALUES('');
+ }
+ 
+-do_execsql_test 7.1 {
+-  SELECT count(*) FROM t1 WHERE x LIKE '!' ESCAPE '!';
+-} {0}
++ifcapable !icu {
++  do_execsql_test 7.1 {
++    SELECT count(*) FROM t1 WHERE x LIKE '!' ESCAPE '!';
++  } {0}
++}
+ 
+ #-------------------------------------------------------------------------
+ #
+@@ -336,4 +338,3 @@
+ }
+ 
+ finish_test
+-

diff --git 
a/dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch
 
b/dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch
new file mode 100644
index 00000000000..4ee3d477cfc
--- /dev/null
+++ 
b/dev-db/sqlite/files/sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.patch
@@ -0,0 +1,19 @@
+https://sqlite.org/src/info/e8275b415a2f03bee
+https://sqlite.org/src/info/7fc2994434c7d9ed
+
+--- /sqlite3.c
++++ /sqlite3.c
+@@ -125441,6 +125441,13 @@
+   Expr *pLimit;                 /* Saved LIMIT and OFFSET */
+   int regLimit, regOffset;      /* Registers used by LIMIT and OFFSET */
+ 
++#ifndef SQLITE_OMIT_WINDOWFUNC
++  if( p->pWin ){
++    sqlite3ErrorMsg(pParse, "cannot use window functions in recursive 
queries");
++    return;
++  }
++#endif
++
+   /* Obtain authorization to do a recursive query */
+   if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return;
+ 

diff --git a/dev-db/sqlite/sqlite-3.25.2.ebuild 
b/dev-db/sqlite/sqlite-3.25.2.ebuild
new file mode 100644
index 00000000000..9ca3d39f36c
--- /dev/null
+++ b/dev-db/sqlite/sqlite-3.25.2.ebuild
@@ -0,0 +1,322 @@
+# Copyright 1999-2018 Arfrever Frehtes Taifersar Arahesis and others
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+
+SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
+DOC_PV="${SRC_PV}"
+# DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
+
+DESCRIPTION="SQL database engine"
+HOMEPAGE="https://sqlite.org/";
+SRC_URI="doc? ( https://sqlite.org/2018/${PN}-doc-${DOC_PV}.zip )
+       tcl? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip )
+       test? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip )
+       tools? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip )
+       !tcl? ( !test? ( !tools? ( 
https://sqlite.org/2018/${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 ~x86-fbsd ~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"
+RESTRICT="!test? ( test )"
+
+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
+       )"
+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() {
+       use tcl || use test || use tools
+}
+
+pkg_setup() {
+       if full_archive; then
+               S="${WORKDIR}/${PN}-src-${SRC_PV}"
+       else
+               S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
+       fi
+}
+
+src_prepare() {
+       if full_archive; then
+               eapply "${FILESDIR}/${PN}-3.25.0-full_archive-build.patch"
+               eapply 
"${FILESDIR}/${PN}-3.25.2-full_archive-disallow_window_functions_in_recursive_queries.patch"
+               eapply "${FILESDIR}/${PN}-3.25.2-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 
"${FILESDIR}/${PN}-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries.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}" CFLAGS="${CFLAGS}" 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 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 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
+
+       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 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" -delete || die
+
+       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
+}

Reply via email to