Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/sqlite/, dev-db/sqlite/files/
Date: Fri, 04 Aug 2017 18:39:50
Message-Id: 1501871968.bd050ef11f8be26ed1092007dd8d300ec676d53c.floppym@gentoo
1 commit: bd050ef11f8be26ed1092007dd8d300ec676d53c
2 Author: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
3 AuthorDate: Fri Aug 4 17:39:24 2017 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 4 18:39:28 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd050ef1
7
8 dev-db/sqlite: Version bump (3.20.0).
9
10 dev-db/sqlite/Manifest | 3 +
11 .../files/sqlite-3.20.0-full_tarball-build.patch | 158 +++++++++++++
12 dev-db/sqlite/sqlite-3.20.0.ebuild | 261 +++++++++++++++++++++
13 3 files changed, 422 insertions(+)
14
15 diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
16 index b1c5c00e00a..6204f83c6e2 100644
17 --- a/dev-db/sqlite/Manifest
18 +++ b/dev-db/sqlite/Manifest
19 @@ -3,13 +3,16 @@ DIST sqlite-autoconf-3170000.tar.gz 2515143 SHA256 a4e485ad3a16e054765baf6371826
20 DIST sqlite-autoconf-3180000.tar.gz 2533004 SHA256 3757612463976e7d08c5e9f0af3021613fc24bbcfe1c51197d6776b9ece9ac5c SHA512 4c2efda1d63d1849f7a351cc57c02cc1820efe3c19f88460a131a1d6ae4f7411e4b7672a5581055e581093df29f65cebd9ff5b24125c18802523b17477dce1ef WHIRLPOOL 5424d028af1649cedeb9192d86939753000bb94676b0578d5bdd33591ddd064f2e9ca60a1abc6e185a8fbbfd13c04361e7bfd82945b3b7c01073b8e79e985031
21 DIST sqlite-autoconf-3190200.tar.gz 2542613 SHA256 ca5361fb01cc3ad63d6fd4eb2cb0b6398e629595896d3558f7e121d37dac2ffc SHA512 fc9fbb76a741a22d620902868d5db6c8954db8a2692c8e91080ab96f41b4e18a4d27aa8f549c8fac62aaf5ad20c908abd01ecc0fdf7204310bf0cb6d1a2e5e14 WHIRLPOOL 003b4600a4689d94b690f9122e749401371deb39e0a04ffcdf161fc72b8d89349a7e9cf9883d54064c23ea08a72cac190d1d14fb586349c528a033d72b139a84
22 DIST sqlite-autoconf-3190300.tar.gz 2542682 SHA256 06129c03dced9f87733a8cba408871bd60673b8f93b920ba8d815efab0a06301 SHA512 7896c99726da75818f1027d5675b24724bc89c738874c868868e60c09d4509ad5a6da93f54cfcecb3a1052e4f164f7cb864ede333b9ccfb4f6b811b052ca1d3d WHIRLPOOL 8881e2077a2f443e849e1c1bc4d824e8dfdf3f47f505288f00772e6f7f64b927ae8df0d2d63f240f8b344d729b8258c797073786d3ef75c40e668784c8a8f1c4
23 +DIST sqlite-autoconf-3200000.tar.gz 2565548 SHA256 3814c6f629ff93968b2b37a70497cfe98b366bf587a2261a56a5f750af6ae6a0 SHA512 f5b0ffcc27adeed5b27b29962d03defa167151868f2281c5642a8ddfa10ac8971aff22081a5b46bd36bcf664bd271975e80249ec403b73656658b33af084ec94 WHIRLPOOL dd63a903ccd05ba111e5b2aa23e55dba0400a979c26e88a238af9986b4c3c4f469f1a474d09c77bacebc3eb0f0aebd95910ce32e612c44bc49d2afbae5504fa0
24 DIST sqlite-doc-3160200.zip 5521023 SHA256 c13ffbb6019f3849b251c22358f31ccb862a842c0a2379f552f2935600157dcb SHA512 b79d21074d1ab154e3b324fb2943f24321ad5cdbc6e2030f1d21940ae46538462af049e0e0cd7c6cf96dec2c59708eaf70aa4cb3c84ba1a0e87238ffcf31fca2 WHIRLPOOL 4d07279b8f186c4a015324021d60f3e76840594a35a2466cc023cd3ef32b5b01572d8a83db5d96f7281c617a8384485bdef60d390e1c12c4ecbc7e0223e1a194
25 DIST sqlite-doc-3170000.zip 5533032 SHA256 3102d9eab879074776216357e4c9e272f63d0cda975a0819ec5baba5e0922ff6 SHA512 6a7813be301416dc59401b7732733f44efad60b458ded0f4ed8d845aab0843a1123dd20d1e6f209dd32184a87bcd7e68e213e3676c43d1d05d2df5acc2c64b74 WHIRLPOOL dc1c9b6802985be34ac7819e08883c456a0a76fb1822eff46b26613760063b72888d34323cf15f0f48be69555c0b07b99424a85f29ac580c4ad8fa46b990b723
26 DIST sqlite-doc-3180000.zip 5552381 SHA256 6f763eba9f51cb1096d1d40fbdd7ff974203060ddb892fc735adb2d7d42f1dad SHA512 7b65130cb2174d823842cddc912432d206044a8b276fdc2eef437854de7d0b05b8eb5d7aec0ead5c3f88bb7788ae5f1c42ffb1e43ab00774a68f6f7fea72d517 WHIRLPOOL be95f25105aea7f553145b371d64d1192057a2931551758bea418dd41b2ead6e9c07368347320bb041a59051c89ca2c84e3cd4e1f95806cad30dca3adec6042b
27 DIST sqlite-doc-3190200.zip 5577171 SHA256 0d136abeea8d045ab7acef64ce84028dacb418584fa5a259e7ab4233ef21ff46 SHA512 f81b8719a54cd5e7f993f3dbd76821fc39651ef20b12cfd19c6d58fcb948e7fa00aa97e2f25cab421ba85d27d10b12822a87d1ae49e33c004c83b8f68cbc781c WHIRLPOOL fd8d25184a1e291ea597d42ce76ce5959db8a974e90934e637851806021d054fdda0a37d33db159478158331d52024b8ad5de11410dad5eb595b590ddda1c657
28 DIST sqlite-doc-3190300.zip 5649351 SHA256 62cda70d5285e35144ddfd4629df8fadc2bae8dbcb43d0638aa874c1c03de101 SHA512 4f99b6797f76dab1859eaf4596c42d6b10a80a1ad9dcb33b82fcc4ef80a8e8299ac24c0d2a0f41debf9e82d43c9ecf9675547eb6163756f29afe847613ef75f3 WHIRLPOOL 4c259efcccca513a55150a349410a9c05cd2faa84a41a2f70f9c9311e3cb24d9e028bb2061a03c4dc6dfebfa3ff7738b571c7bd961b0f4aff5b329183b5e9d7b
29 +DIST sqlite-doc-3200000.zip 5695366 SHA256 5b7a4dc411937f33f17a8b0b7cb490d5e718fe37a751ee772d8989c23745f394 SHA512 0dfa9487c5e4084a9c17e8bf83a92b9a2cd53642efeff0b12051ecdeaf11e3896031f1b4d59021354a293b8acc8c6fcab827961721fda7a5de8415460d3bd280 WHIRLPOOL cd83788e4c054231b3050c54799781b38344d7bec006e640a489276678146f25ab55ee0bc82fc031e5cab39c92c09877d7ce55af90089691e0d09dac37fbbf19
30 DIST sqlite-src-3160200.zip 10081950 SHA256 ee77c2cc5cc4a7b0a746a1d4496f7aee0d71c558a3bbfcf8e9e0b35416910337 SHA512 db49551c09830cf4d8997f0a623deeed9f85db5f27e6ca9d8aa5812a23c1466bbcdf8bb56cf009511f72cafec8f09a305127123f54d90437b28770dac34a0897 WHIRLPOOL b8cc52d5111bde34dae02391be8d83f9e703672b2101b36f5409e9acc23743c00561b02bd14b098e29972077fa1866a506d6343b58e4897ca07dac0bb60f4367
31 DIST sqlite-src-3170000.zip 10120844 SHA256 86754bee6bcaf1f2a6bf4a02676eb3a43d22d4e5d8339e217424cb2be6b748c3 SHA512 e60381de33fbf566507454e4f1dfb7d3ada554e5c919f05f0dd2f96a6f266adaa62681437f21fdea1c24de57fb6141b798f97854918faa189b507f12f11e0d36 WHIRLPOOL 535c598f7bb9ddbecdd1ca841c0ecf398831c494c99c38542d1cbb756d8333260d6891aa36167aeba75df83fbaf402465dc65c9b3a7fb6685fa54420cb1a1342
32 DIST sqlite-src-3180000.zip 10166686 SHA256 eab4d137abd5aa1164244a5d558c9a02122071daf36984b236f8441d749b9ba6 SHA512 b82c5388066f2e905c067d75e890bf2ff03a522733b8c8e0ebdfffe1804d7ecb39b72f6d808fce59133ac8c645f8b6e163e3dff7bbb0d66bbe8748e069ca7a84 WHIRLPOOL b92890b587761dfd550b39fbd64c4fddaf58e495c0f2b7526a624c3415147494648add3fa6968a09411e73c9b0653ec541a49a34daeb7ad2ae4840e829528380
33 DIST sqlite-src-3190200.zip 10193843 SHA256 899c370b162a3b1febc644be5363433789a629bd07f5f80231defb5603d1abc1 SHA512 026b97bfc73b6ecf4c48b344a13adfb1c484d76a4fe78fd06bc4d175bb516c324483c6a647eaffc989469b3134c1874a1869b2d6a7d4112e685d75317992deb1 WHIRLPOOL 8af9215bfb2e2c2b418ff19f5e6a31d9ce68c47a3ec5d31fa2747e6de1936a32844fa6d500d876f77038a50dd332d73740594a2a7a9141eff32bc5bf523c5966
34 DIST sqlite-src-3190300.zip 10193997 SHA256 5595bbf59e7bb6bb43a6e816b9dd2ee74369c6ae3cd60284e24d5f7957286120 SHA512 514c3de6346bdea359036a79c880133f0eeed4cdfc9e811d662dc343f91ea43edda0f9760405a48e7f61ea1dd3478980cc7d3b5409ef27adcb5311a06e36297e WHIRLPOOL 14491a9f14b7f180781ea78010783709e0539b970d0fadec10a3e0afd9fdda8d417dd14811ad10f98b9b8ec5cb491422bc4e9ebad7720a1733fef11e759908c7
35 +DIST sqlite-src-3200000.zip 10575632 SHA256 4b358e77a85d128651e504aaf548253ffe10d5d399aaef5a6e34f29262614bee SHA512 40fe7972902d041f012c7739c8712aa40069aebc7be680fde8f43b33fed885bfc42331bfb7200651486484edb71cbdd77ddb9c119d0847bdfb0e92063090f029 WHIRLPOOL e64cefd85a78402a40abe647c001cf280fe8469da99a03b776ba12bbf19fd372506430b4f9d1b507617dff3d3adf74ea177a2238e006d6b85e39e67c60ce6a03
36
37 diff --git a/dev-db/sqlite/files/sqlite-3.20.0-full_tarball-build.patch b/dev-db/sqlite/files/sqlite-3.20.0-full_tarball-build.patch
38 new file mode 100644
39 index 00000000000..cc95be3ee60
40 --- /dev/null
41 +++ b/dev-db/sqlite/files/sqlite-3.20.0-full_tarball-build.patch
42 @@ -0,0 +1,158 @@
43 +Link executables against libsqlite3.so.
44 +Increase timeout for fuzzcheck.
45 +Fix building with dlopen() not available.
46 +
47 +--- Makefile.in
48 ++++ Makefile.in
49 +@@ -565,6 +565,7 @@
50 + #
51 + SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
52 + # SHELL_OPT += -DSQLITE_ENABLE_FTS5
53 ++SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
54 + SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
55 + SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
56 + SHELL_OPT += -DSQLITE_ENABLE_STMTVTAB
57 +@@ -591,25 +592,25 @@
58 +
59 + libtclsqlite3.la: tclsqlite.lo libsqlite3.la
60 + $(LTLINK) -no-undefined -o $@ tclsqlite.lo \
61 +- libsqlite3.la @TCL_STUB_LIB_SPEC@ $(TLIBS) \
62 ++ libsqlite3.la @TCL_STUB_LIB_SPEC@ \
63 + -rpath "$(TCLLIBDIR)" \
64 + -version-info "8:6:8" \
65 + -avoid-version
66 +
67 +-sqlite3$(TEXE): $(TOP)/src/shell.c sqlite3.c
68 +- $(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
69 +- $(TOP)/src/shell.c sqlite3.c \
70 +- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
71 ++sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la
72 ++ $(LTLINK) $(READLINE_FLAGS) -o $@ \
73 ++ $(TOP)/src/shell.c libsqlite3.la \
74 ++ $(LIBREADLINE)
75 +
76 +-sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h
77 +- $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.lo $(TLIBS)
78 ++sqldiff$(TEXE): $(TOP)/tool/sqldiff.c libsqlite3.la
79 ++ $(LTLINK) -o $@ $(TOP)/tool/sqldiff.c libsqlite3.la
80 +
81 +-dbhash$(TEXE): $(TOP)/tool/dbhash.c sqlite3.lo sqlite3.h
82 +- $(LTLINK) -o $@ $(TOP)/tool/dbhash.c sqlite3.lo $(TLIBS)
83 ++dbhash$(TEXE): $(TOP)/tool/dbhash.c libsqlite3.la
84 ++ $(LTLINK) -o $@ $(TOP)/tool/dbhash.c libsqlite3.la
85 +
86 +-scrub$(TEXE): $(TOP)/ext/misc/scrub.c sqlite3.lo
87 ++scrub$(TEXE): $(TOP)/ext/misc/scrub.c libsqlite3.la
88 + $(LTLINK) -o $@ -I. -DSCRUB_STANDALONE \
89 +- $(TOP)/ext/misc/scrub.c sqlite3.lo $(TLIBS)
90 ++ $(TOP)/ext/misc/scrub.c libsqlite3.la
91 +
92 + srcck1$(BEXE): $(TOP)/tool/srcck1.c
93 + $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c
94 +@@ -685,7 +686,7 @@
95 + # Rule to build the amalgamation
96 + #
97 + sqlite3.lo: sqlite3.c
98 +- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
99 ++ $(LTCOMPILE) $(SHELL_OPT) $(TEMP_STORE) -c sqlite3.c
100 +
101 + # Rules to build the LEMON compiler generator
102 + #
103 +@@ -1115,13 +1116,13 @@
104 +
105 + # Fuzz testing
106 + fuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
107 +- ./fuzzcheck$(TEXE) $(FUZZDATA)
108 ++ ./fuzzcheck$(TEXE) --timeout 3600 $(FUZZDATA)
109 +
110 + fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
111 +- ./fuzzcheck$(TEXE) --limit-mem 100M $(FUZZDATA)
112 ++ ./fuzzcheck$(TEXE) --limit-mem 100M --timeout 3600 $(FUZZDATA)
113 +
114 + valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA)
115 +- valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
116 ++ valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 3600 $(FUZZDATA)
117 +
118 + # The veryquick.test TCL tests.
119 + #
120 +@@ -1151,36 +1152,35 @@
121 + smoketest: $(TESTPROGS) fuzzcheck$(TEXE)
122 + ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS)
123 +
124 +-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
125 ++sqlite3_analyzer.c: $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
126 + echo "#define TCLSH 2" > $@
127 +- echo "#define SQLITE_ENABLE_DBSTAT_VTAB 1" >> $@
128 +- cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@
129 ++ cat $(TOP)/src/tclsqlite.c >> $@
130 + echo "static const char *tclsh_main_loop(void){" >> $@
131 + echo "static const char *zMainloop = " >> $@
132 + $(TCLSH_CMD) $(TOP)/tool/tostr.tcl $(TOP)/tool/spaceanal.tcl >> $@
133 + echo "; return zMainloop; }" >> $@
134 +
135 +-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
136 +- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
137 ++sqlite3_analyzer$(TEXE): sqlite3_analyzer.c libsqlite3.la
138 ++ $(LTLINK) sqlite3_analyzer.c -o $@ libsqlite3.la $(LIBTCL)
139 +
140 +-dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo
141 ++dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c libsqlite3.la
142 + $(LTLINK) -DDBDUMP_STANDALONE -o $@ \
143 +- $(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS)
144 ++ $(TOP)/ext/misc/dbdump.c libsqlite3.la
145 +
146 +-showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
147 +- $(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
148 ++showdb$(TEXE): $(TOP)/tool/showdb.c libsqlite3.la
149 ++ $(LTLINK) -o $@ $(TOP)/tool/showdb.c libsqlite3.la
150 +
151 +-showstat4$(TEXE): $(TOP)/tool/showstat4.c sqlite3.lo
152 +- $(LTLINK) -o $@ $(TOP)/tool/showstat4.c sqlite3.lo $(TLIBS)
153 ++showstat4$(TEXE): $(TOP)/tool/showstat4.c libsqlite3.la
154 ++ $(LTLINK) -o $@ $(TOP)/tool/showstat4.c libsqlite3.la
155 +
156 +-showjournal$(TEXE): $(TOP)/tool/showjournal.c sqlite3.lo
157 +- $(LTLINK) -o $@ $(TOP)/tool/showjournal.c sqlite3.lo $(TLIBS)
158 ++showjournal$(TEXE): $(TOP)/tool/showjournal.c
159 ++ $(LTLINK) -o $@ $(TOP)/tool/showjournal.c
160 +
161 +-showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
162 +- $(LTLINK) -o $@ $(TOP)/tool/showwal.c sqlite3.lo $(TLIBS)
163 ++showwal$(TEXE): $(TOP)/tool/showwal.c
164 ++ $(LTLINK) -o $@ $(TOP)/tool/showwal.c
165 +
166 +-changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
167 +- $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
168 ++changeset$(TEXE): $(TOP)/ext/session/changeset.c libsqlite3.la
169 ++ $(LTLINK) -o $@ $(TOP)/ext/session/changeset.c libsqlite3.la
170 +
171 + rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
172 + $(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
173 +@@ -1199,11 +1199,11 @@
174 + kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
175 + $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
176 +
177 +-rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
178 +- $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
179 ++rbu$(EXE): $(TOP)/ext/rbu/rbu.c libsqlite3.la
180 ++ $(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c libsqlite3.la
181 +
182 +-loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
183 +- $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@ $(TLIBS)
184 ++loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
185 ++ $(LTLINK) $(TOP)/tool/loadfts.c libsqlite3.la -o $@
186 +
187 + # This target will fail if the SQLite amalgamation contains any exported
188 + # symbols that do not begin with "sqlite3_". It is run as part of the
189 +--- configure.ac
190 ++++ configure.ac
191 +@@ -584,6 +584,9 @@
192 + if test "${use_loadextension}" = "yes" ; then
193 + OPT_FEATURE_FLAGS=""
194 + AC_SEARCH_LIBS(dlopen, dl)
195 ++ if test "${ac_cv_search_dlopen}" = "no" ; then
196 ++ OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
197 ++ fi
198 + else
199 + OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1"
200 + fi
201
202 diff --git a/dev-db/sqlite/sqlite-3.20.0.ebuild b/dev-db/sqlite/sqlite-3.20.0.ebuild
203 new file mode 100644
204 index 00000000000..931807da09c
205 --- /dev/null
206 +++ b/dev-db/sqlite/sqlite-3.20.0.ebuild
207 @@ -0,0 +1,261 @@
208 +# Copyright 1999-2017 Gentoo Foundation
209 +# Distributed under the terms of the GNU General Public License v2
210 +
211 +EAPI="6"
212 +
213 +inherit autotools eutils flag-o-matic multilib multilib-minimal toolchain-funcs versionator
214 +
215 +SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
216 +DOC_PV="${SRC_PV}"
217 +# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
218 +
219 +DESCRIPTION="A SQL Database Engine in a C Library"
220 +HOMEPAGE="https://sqlite.org/"
221 +SRC_URI="doc? ( https://sqlite.org/2017/${PN}-doc-${DOC_PV}.zip )
222 + tcl? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
223 + test? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
224 + tools? ( https://sqlite.org/2017/${PN}-src-${SRC_PV}.zip )
225 + !tcl? ( !test? ( !tools? ( https://sqlite.org/2017/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )"
226 +
227 +LICENSE="public-domain"
228 +SLOT="3"
229 +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"
230 +IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
231 +
232 +RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
233 + readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
234 + tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
235 + tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )"
236 +DEPEND="${RDEPEND}
237 + doc? ( app-arch/unzip )
238 + tcl? ( app-arch/unzip )
239 + test? (
240 + app-arch/unzip
241 + dev-lang/tcl:0[${MULTILIB_USEDEP}]
242 + )
243 + tools? ( app-arch/unzip )"
244 +
245 +full_tarball() {
246 + use tcl || use test || use tools
247 +}
248 +
249 +pkg_setup() {
250 + if full_tarball; then
251 + S="${WORKDIR}/${PN}-src-${SRC_PV}"
252 + else
253 + S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
254 + fi
255 +}
256 +
257 +src_prepare() {
258 + if full_tarball; then
259 + eapply -p0 "${FILESDIR}/${PN}-3.20.0-full_tarball-build.patch"
260 +
261 + eapply_user
262 +
263 + # Fix AC_CHECK_FUNCS.
264 + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
265 + 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"
266 + else
267 + eapply -p0 "${FILESDIR}/${PN}-3.16.0-nonfull_tarball-build.patch"
268 +
269 + eapply_user
270 +
271 + # Fix AC_CHECK_FUNCS.
272 + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html
273 + sed \
274 + -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])/" \
275 + -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \
276 + -i configure.ac || die "sed failed"
277 + fi
278 +
279 + eautoreconf
280 +
281 + multilib_copy_sources
282 +}
283 +
284 +multilib_src_configure() {
285 + local CPPFLAGS="${CPPFLAGS}" options=()
286 +
287 + options+=(
288 + --enable-$(full_tarball && echo load-extension || echo dynamic-extensions)
289 + --enable-threadsafe
290 + )
291 + if ! full_tarball; then
292 + options+=(--disable-static-shell)
293 + fi
294 +
295 + # Support detection of misuse of SQLite API.
296 + # https://sqlite.org/compile.html#enable_api_armor
297 + append-cppflags -DSQLITE_ENABLE_API_ARMOR
298 +
299 + # Support column metadata functions.
300 + # https://sqlite.org/c3ref/column_database_name.html
301 + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
302 +
303 + # Support dbstat virtual table.
304 + # https://sqlite.org/dbstat.html
305 + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
306 +
307 + # Support comments in output of EXPLAIN.
308 + # https://sqlite.org/compile.html#enable_explain_comments
309 + append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
310 +
311 + # Support Full-Text Search versions 3, 4 and 5.
312 + # https://sqlite.org/fts3.html
313 + # https://sqlite.org/fts5.html
314 + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
315 + options+=(--enable-fts5)
316 +
317 + # Support hidden columns.
318 + append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
319 +
320 + # Support JSON1 extension.
321 + # https://sqlite.org/json1.html
322 + append-cppflags -DSQLITE_ENABLE_JSON1
323 +
324 + # Support memsys5 memory allocator.
325 + # https://sqlite.org/malloc.html#memsys5
326 + append-cppflags -DSQLITE_ENABLE_MEMSYS5
327 +
328 + # Support Resumable Bulk Update extension.
329 + # https://sqlite.org/rbu.html
330 + append-cppflags -DSQLITE_ENABLE_RBU
331 +
332 + # Support R*Trees.
333 + # https://sqlite.org/rtree.html
334 + append-cppflags -DSQLITE_ENABLE_RTREE
335 +
336 + # Support scan status functions.
337 + # https://sqlite.org/c3ref/stmt_scanstatus.html
338 + # https://sqlite.org/c3ref/stmt_scanstatus_reset.html
339 + append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
340 +
341 + # Support Session extension.
342 + # https://sqlite.org/sessionintro.html
343 + options+=(--enable-session)
344 +
345 + # Support unknown() function.
346 + # https://sqlite.org/compile.html#enable_unknown_sql_function
347 + append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
348 +
349 + # Support unlock notification.
350 + # https://sqlite.org/unlock_notify.html
351 + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
352 +
353 + # Support soundex() function.
354 + # https://sqlite.org/lang_corefunc.html#soundex
355 + append-cppflags -DSQLITE_SOUNDEX
356 +
357 + # debug USE flag.
358 + if full_tarball; then
359 + options+=($(use_enable debug))
360 + else
361 + if use debug; then
362 + append-cppflags -DSQLITE_DEBUG
363 + else
364 + append-cppflags -DNDEBUG
365 + fi
366 + fi
367 +
368 + # icu USE flag.
369 + if use icu; then
370 + # Support ICU extension.
371 + # https://sqlite.org/compile.html#enable_icu
372 + append-cppflags -DSQLITE_ENABLE_ICU
373 + if full_tarball; then
374 + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
375 + else
376 + sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
377 + fi
378 + fi
379 +
380 + # readline USE flag.
381 + options+=(
382 + --disable-editline
383 + $(use_enable readline)
384 + )
385 + if full_tarball && use readline; then
386 + options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline")
387 + fi
388 +
389 + # secure-delete USE flag.
390 + if use secure-delete; then
391 + # Enable secure_delete pragma by default.
392 + # https://sqlite.org/pragma.html#pragma_secure_delete
393 + append-cppflags -DSQLITE_SECURE_DELETE
394 + fi
395 +
396 + # static-libs USE flag.
397 + options+=($(use_enable static-libs static))
398 +
399 + # tcl, test, tools USE flags.
400 + if full_tarball; then
401 + options+=(--enable-tcl)
402 + fi
403 +
404 + if [[ "${CHOST}" == *-mint* ]]; then
405 + append-cppflags -DSQLITE_OMIT_WAL
406 + fi
407 +
408 + econf "${options[@]}"
409 +}
410 +
411 +multilib_src_compile() {
412 + emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
413 +
414 + if use tools && multilib_is_native_abi; then
415 + emake changeset dbdump dbhash rbu scrub showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
416 + fi
417 +}
418 +
419 +multilib_src_test() {
420 + if [[ "${EUID}" -eq 0 ]]; then
421 + ewarn "Skipping tests due to root permissions"
422 + return
423 + fi
424 +
425 + emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
426 +}
427 +
428 +multilib_src_install() {
429 + emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
430 +
431 + if use tools && multilib_is_native_abi; then
432 + install_tool() {
433 + if [[ -f ".libs/${1}" ]]; then
434 + newbin ".libs/${1}" "${2}"
435 + else
436 + newbin "${1}" "${2}"
437 + fi
438 + }
439 +
440 + install_tool changeset sqlite3-changeset
441 + install_tool dbdump sqlite3-db-dump
442 + install_tool dbhash sqlite3-db-hash
443 + install_tool rbu sqlite3-rbu
444 + install_tool scrub sqlite3-scrub
445 + install_tool showdb sqlite3-show-db
446 + install_tool showjournal sqlite3-show-journal
447 + install_tool showstat4 sqlite3-show-stat4
448 + install_tool showwal sqlite3-show-wal
449 + install_tool sqldiff sqlite3-diff
450 + install_tool sqlite3_analyzer sqlite3-analyzer
451 +
452 + unset -f install_tool
453 + fi
454 +}
455 +
456 +multilib_src_install_all() {
457 + prune_libtool_files
458 +
459 + doman sqlite3.1
460 +
461 + if use doc; then
462 + rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt}
463 + (
464 + docinto html
465 + dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"*
466 + )
467 + fi
468 +}