1 |
commit: 022a6609aaf851c09482de563a692407b4a4a472 |
2 |
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org> |
3 |
AuthorDate: Mon Sep 14 11:00:00 2020 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Sep 15 18:33:39 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=022a6609 |
7 |
|
8 |
dev-db/sqlite: Delete old version (3.32.3). |
9 |
|
10 |
Bug: https://bugs.gentoo.org/732604 |
11 |
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org> |
12 |
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> |
13 |
|
14 |
.../files/sqlite-3.32.3-security_fixes.patch | 146 --------- |
15 |
dev-db/sqlite/sqlite-3.32.3.ebuild | 340 --------------------- |
16 |
2 files changed, 486 deletions(-) |
17 |
|
18 |
diff --git a/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch |
19 |
deleted file mode 100644 |
20 |
index ad2a3bfe16d..00000000000 |
21 |
--- a/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch |
22 |
+++ /dev/null |
23 |
@@ -1,146 +0,0 @@ |
24 |
-https://sqlite.org/src/info/cc888878ea8d5bc7 |
25 |
-https://sqlite.org/src/info/be545f85a6ef09cc |
26 |
-https://sqlite.org/src/info/6e0ffa2053124168 |
27 |
-https://sqlite.org/src/info/4d0cfb1236884349 |
28 |
- |
29 |
---- /ext/fts3/fts3.c |
30 |
-+++ /ext/fts3/fts3.c |
31 |
-@@ -5208,10 +5208,12 @@ |
32 |
- ); |
33 |
- if( res ){ |
34 |
- nNew = (int)(pOut - pPhrase->doclist.pList) - 1; |
35 |
-- assert( pPhrase->doclist.pList[nNew]=='\0' ); |
36 |
-- assert( nNew<=pPhrase->doclist.nList && nNew>0 ); |
37 |
-- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); |
38 |
-- pPhrase->doclist.nList = nNew; |
39 |
-+ if( nNew>=0 ){ |
40 |
-+ assert( pPhrase->doclist.pList[nNew]=='\0' ); |
41 |
-+ assert( nNew<=pPhrase->doclist.nList && nNew>0 ); |
42 |
-+ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); |
43 |
-+ pPhrase->doclist.nList = nNew; |
44 |
-+ } |
45 |
- *paPoslist = pPhrase->doclist.pList; |
46 |
- *pnToken = pPhrase->nToken; |
47 |
- } |
48 |
---- /ext/fts3/fts3_write.c |
49 |
-+++ /ext/fts3/fts3_write.c |
50 |
-@@ -341,7 +341,9 @@ |
51 |
- ** created by merging the oldest :2 segments from absolute level :1. See |
52 |
- ** function sqlite3Fts3Incrmerge() for details. */ |
53 |
- /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) " |
54 |
-- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?", |
55 |
-+ " FROM (SELECT * FROM %Q.'%q_segdir' " |
56 |
-+ " WHERE level = ? ORDER BY idx ASC LIMIT ?" |
57 |
-+ " )", |
58 |
- |
59 |
- /* SQL_DELETE_SEGDIR_ENTRY |
60 |
- ** Delete the %_segdir entry on absolute level :1 with index :2. */ |
61 |
-@@ -2853,6 +2855,19 @@ |
62 |
- return SQLITE_OK; |
63 |
- } |
64 |
- |
65 |
-+static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){ |
66 |
-+ if( nReq>pCsr->nBuffer ){ |
67 |
-+ char *aNew; |
68 |
-+ pCsr->nBuffer = nReq*2; |
69 |
-+ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); |
70 |
-+ if( !aNew ){ |
71 |
-+ return SQLITE_NOMEM; |
72 |
-+ } |
73 |
-+ pCsr->aBuffer = aNew; |
74 |
-+ } |
75 |
-+ return SQLITE_OK; |
76 |
-+} |
77 |
-+ |
78 |
- |
79 |
- int sqlite3Fts3SegReaderStep( |
80 |
- Fts3Table *p, /* Virtual table handle */ |
81 |
-@@ -2987,15 +3002,9 @@ |
82 |
- } |
83 |
- |
84 |
- nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0); |
85 |
-- if( nDoclist+nByte>pCsr->nBuffer ){ |
86 |
-- char *aNew; |
87 |
-- pCsr->nBuffer = (nDoclist+nByte)*2; |
88 |
-- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); |
89 |
-- if( !aNew ){ |
90 |
-- return SQLITE_NOMEM; |
91 |
-- } |
92 |
-- pCsr->aBuffer = aNew; |
93 |
-- } |
94 |
-+ |
95 |
-+ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist); |
96 |
-+ if( rc ) return rc; |
97 |
- |
98 |
- if( isFirst ){ |
99 |
- char *a = &pCsr->aBuffer[nDoclist]; |
100 |
-@@ -3020,6 +3029,9 @@ |
101 |
- fts3SegReaderSort(apSegment, nMerge, j, xCmp); |
102 |
- } |
103 |
- if( nDoclist>0 ){ |
104 |
-+ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING); |
105 |
-+ if( rc ) return rc; |
106 |
-+ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING); |
107 |
- pCsr->aDoclist = pCsr->aBuffer; |
108 |
- pCsr->nDoclist = nDoclist; |
109 |
- rc = SQLITE_ROW; |
110 |
---- /src/expr.c |
111 |
-+++ /src/expr.c |
112 |
-@@ -4272,7 +4272,9 @@ |
113 |
- int nCol; |
114 |
- testcase( op==TK_EXISTS ); |
115 |
- testcase( op==TK_SELECT ); |
116 |
-- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ |
117 |
-+ if( pParse->db->mallocFailed ){ |
118 |
-+ return 0; |
119 |
-+ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ |
120 |
- sqlite3SubselectError(pParse, nCol, 1); |
121 |
- }else{ |
122 |
- return sqlite3CodeSubselect(pParse, pExpr); |
123 |
---- /test/fts3corrupt4.test |
124 |
-+++ /test/fts3corrupt4.test |
125 |
-@@ -6123,4 +6123,44 @@ |
126 |
- SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"'; |
127 |
- } |
128 |
- |
129 |
-+#------------------------------------------------------------------------- |
130 |
-+do_execsql_test 42.1 { |
131 |
-+ CREATE VIRTUAL TABLE f USING fts3(a, b); |
132 |
-+} |
133 |
-+do_execsql_test 42.2 { |
134 |
-+ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00'); |
135 |
-+ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200'); |
136 |
-+} |
137 |
-+do_execsql_test 42.3 { |
138 |
-+ INSERT INTO f(f) VALUES ('merge=107,2'); |
139 |
-+} |
140 |
-+ |
141 |
-+#------------------------------------------------------------------------- |
142 |
-+reset_db |
143 |
-+set saved $sqlite_fts3_enable_parentheses |
144 |
-+set sqlite_fts3_enable_parentheses 1 |
145 |
-+do_execsql_test 43.1 { |
146 |
-+ CREATE VIRTUAL TABLE def USING fts3(xyz); |
147 |
-+ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81'); |
148 |
-+} {} |
149 |
-+ |
150 |
-+do_execsql_test 43.2 { |
151 |
-+ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1' |
152 |
-+} {1} |
153 |
-+ |
154 |
-+set sqlite_fts3_enable_parentheses $saved |
155 |
-+ |
156 |
-+#------------------------------------------------------------------------- |
157 |
-+reset_db |
158 |
-+do_execsql_test 44.1 { |
159 |
-+ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY); |
160 |
-+ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL); |
161 |
-+ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200'); |
162 |
-+} |
163 |
-+ |
164 |
-+do_execsql_test 44.2 { |
165 |
-+ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*' |
166 |
-+} {0} |
167 |
-+ |
168 |
-+ |
169 |
- finish_test |
170 |
|
171 |
diff --git a/dev-db/sqlite/sqlite-3.32.3.ebuild b/dev-db/sqlite/sqlite-3.32.3.ebuild |
172 |
deleted file mode 100644 |
173 |
index fd258a4bd4c..00000000000 |
174 |
--- a/dev-db/sqlite/sqlite-3.32.3.ebuild |
175 |
+++ /dev/null |
176 |
@@ -1,340 +0,0 @@ |
177 |
-# Copyright 1999-2020 Gentoo Authors |
178 |
-# Distributed under the terms of the GNU General Public License v2 |
179 |
- |
180 |
-EAPI="7" |
181 |
- |
182 |
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs |
183 |
- |
184 |
-if [[ "${PV}" != "9999" ]]; then |
185 |
- SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))" |
186 |
- DOC_PV="${SRC_PV}" |
187 |
- # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))" |
188 |
-fi |
189 |
- |
190 |
-DESCRIPTION="SQL database engine" |
191 |
-HOMEPAGE="https://sqlite.org/" |
192 |
-if [[ "${PV}" == "9999" ]]; then |
193 |
- SRC_URI="" |
194 |
-else |
195 |
- SRC_URI="https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip |
196 |
- doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )" |
197 |
-fi |
198 |
- |
199 |
-LICENSE="public-domain" |
200 |
-SLOT="3" |
201 |
-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" |
202 |
-IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" |
203 |
-if [[ "${PV}" == "9999" ]]; then |
204 |
- PROPERTIES="live" |
205 |
-fi |
206 |
-RESTRICT="!test? ( test )" |
207 |
- |
208 |
-if [[ "${PV}" == "9999" ]]; then |
209 |
- BDEPEND=">=dev-lang/tcl-8.6:0 |
210 |
- dev-vcs/fossil" |
211 |
-else |
212 |
- BDEPEND="app-arch/unzip |
213 |
- >=dev-lang/tcl-8.6:0" |
214 |
-fi |
215 |
-RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}] |
216 |
- icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) |
217 |
- readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) |
218 |
- tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) |
219 |
- tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" |
220 |
-DEPEND="${RDEPEND} |
221 |
- test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )" |
222 |
- |
223 |
-if [[ "${PV}" == "9999" ]]; then |
224 |
- S="${WORKDIR}/${PN}" |
225 |
-else |
226 |
- S="${WORKDIR}/${PN}-src-${SRC_PV}" |
227 |
-fi |
228 |
- |
229 |
-src_unpack() { |
230 |
- if [[ "${PV}" == "9999" ]]; then |
231 |
- local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" |
232 |
- addwrite "${distdir}" |
233 |
- mkdir -p "${distdir}/fossil-src/${PN}" || die |
234 |
- |
235 |
- mkdir "${WORKDIR}/${PN}" || die |
236 |
- pushd "${WORKDIR}/${PN}" > /dev/null || die |
237 |
- if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite.fossil" ]]; then |
238 |
- einfo fossil clone --verbose https://sqlite.org/src sqlite.fossil |
239 |
- fossil clone --verbose https://sqlite.org/src sqlite.fossil || die |
240 |
- echo |
241 |
- else |
242 |
- cp -p "${distdir}/fossil-src/${PN}/sqlite.fossil" . || die |
243 |
- einfo fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src |
244 |
- fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src || die |
245 |
- echo |
246 |
- fi |
247 |
- cp -p sqlite.fossil "${distdir}/fossil-src/${PN}" || die |
248 |
- einfo fossil open --quiet sqlite.fossil |
249 |
- fossil open --quiet sqlite.fossil || die |
250 |
- echo |
251 |
- popd > /dev/null || die |
252 |
- |
253 |
- if use doc; then |
254 |
- mkdir "${WORKDIR}/${PN}-doc" || die |
255 |
- pushd "${WORKDIR}/${PN}-doc" > /dev/null || die |
256 |
- if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" ]]; then |
257 |
- einfo fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil |
258 |
- fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil || die |
259 |
- echo |
260 |
- else |
261 |
- cp -p "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" . || die |
262 |
- einfo fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc |
263 |
- fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc || die |
264 |
- echo |
265 |
- fi |
266 |
- cp -p sqlite-doc.fossil "${distdir}/fossil-src/${PN}" || die |
267 |
- einfo fossil open --quiet sqlite-doc.fossil |
268 |
- fossil open --quiet sqlite-doc.fossil || die |
269 |
- echo |
270 |
- popd > /dev/null || die |
271 |
- fi |
272 |
- else |
273 |
- default |
274 |
- fi |
275 |
-} |
276 |
- |
277 |
-src_prepare() { |
278 |
- eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_1.patch" |
279 |
- eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_2.patch" |
280 |
- eapply "${FILESDIR}/${PN}-3.32.3-security_fixes.patch" |
281 |
- |
282 |
- eapply_user |
283 |
- |
284 |
- # Fix AC_CHECK_FUNCS. |
285 |
- # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html |
286 |
- 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" |
287 |
- |
288 |
- eautoreconf |
289 |
- |
290 |
- multilib_copy_sources |
291 |
-} |
292 |
- |
293 |
-multilib_src_configure() { |
294 |
- local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" |
295 |
- local options=() |
296 |
- |
297 |
- options+=( |
298 |
- --enable-load-extension |
299 |
- --enable-threadsafe |
300 |
- ) |
301 |
- |
302 |
- # Support detection of misuse of SQLite API. |
303 |
- # https://sqlite.org/compile.html#enable_api_armor |
304 |
- append-cppflags -DSQLITE_ENABLE_API_ARMOR |
305 |
- |
306 |
- # Support bytecode and tables_used virtual tables. |
307 |
- # https://sqlite.org/bytecodevtab.html |
308 |
- append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB |
309 |
- |
310 |
- # Support column metadata functions. |
311 |
- # https://sqlite.org/c3ref/column_database_name.html |
312 |
- append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA |
313 |
- |
314 |
- # Support sqlite_dbpage virtual table. |
315 |
- # https://sqlite.org/dbpage.html |
316 |
- append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB |
317 |
- |
318 |
- # Support dbstat virtual table. |
319 |
- # https://sqlite.org/dbstat.html |
320 |
- append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB |
321 |
- |
322 |
- # Support sqlite3_serialize() and sqlite3_deserialize() functions. |
323 |
- # https://sqlite.org/c3ref/serialize.html |
324 |
- # https://sqlite.org/c3ref/deserialize.html |
325 |
- append-cppflags -DSQLITE_ENABLE_DESERIALIZE |
326 |
- |
327 |
- # Support comments in output of EXPLAIN. |
328 |
- # https://sqlite.org/compile.html#enable_explain_comments |
329 |
- append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
330 |
- |
331 |
- # Support Full-Text Search versions 3, 4 and 5. |
332 |
- # https://sqlite.org/fts3.html |
333 |
- # https://sqlite.org/fts5.html |
334 |
- append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 |
335 |
- options+=(--enable-fts5) |
336 |
- |
337 |
- # Support hidden columns. |
338 |
- append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS |
339 |
- |
340 |
- # Support JSON1 extension. |
341 |
- # https://sqlite.org/json1.html |
342 |
- append-cppflags -DSQLITE_ENABLE_JSON1 |
343 |
- |
344 |
- # Support memsys5 memory allocator. |
345 |
- # https://sqlite.org/malloc.html#memsys5 |
346 |
- append-cppflags -DSQLITE_ENABLE_MEMSYS5 |
347 |
- |
348 |
- # Support sqlite3_normalized_sql() function. |
349 |
- # https://sqlite.org/c3ref/expanded_sql.html |
350 |
- append-cppflags -DSQLITE_ENABLE_NORMALIZE |
351 |
- |
352 |
- # Support sqlite_offset() function. |
353 |
- # https://sqlite.org/lang_corefunc.html#sqlite_offset |
354 |
- append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC |
355 |
- |
356 |
- # Support pre-update hook functions. |
357 |
- # https://sqlite.org/c3ref/preupdate_count.html |
358 |
- append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK |
359 |
- |
360 |
- # Support Resumable Bulk Update extension. |
361 |
- # https://sqlite.org/rbu.html |
362 |
- append-cppflags -DSQLITE_ENABLE_RBU |
363 |
- |
364 |
- # Support R*Trees. |
365 |
- # https://sqlite.org/rtree.html |
366 |
- # https://sqlite.org/geopoly.html |
367 |
- append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY |
368 |
- |
369 |
- # Support scan status functions. |
370 |
- # https://sqlite.org/c3ref/stmt_scanstatus.html |
371 |
- # https://sqlite.org/c3ref/stmt_scanstatus_reset.html |
372 |
- append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS |
373 |
- |
374 |
- # Support sqlite_stmt virtual table. |
375 |
- # https://sqlite.org/stmt.html |
376 |
- append-cppflags -DSQLITE_ENABLE_STMTVTAB |
377 |
- |
378 |
- # Support Session extension. |
379 |
- # https://sqlite.org/sessionintro.html |
380 |
- options+=(--enable-session) |
381 |
- |
382 |
- # Support unknown() function. |
383 |
- # https://sqlite.org/compile.html#enable_unknown_sql_function |
384 |
- append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION |
385 |
- |
386 |
- # Support unlock notification. |
387 |
- # https://sqlite.org/unlock_notify.html |
388 |
- append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY |
389 |
- |
390 |
- # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. |
391 |
- # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses |
392 |
- # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses |
393 |
- append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT |
394 |
- |
395 |
- # Support soundex() function. |
396 |
- # https://sqlite.org/lang_corefunc.html#soundex |
397 |
- append-cppflags -DSQLITE_SOUNDEX |
398 |
- |
399 |
- # Support URI filenames. |
400 |
- # https://sqlite.org/uri.html |
401 |
- append-cppflags -DSQLITE_USE_URI |
402 |
- |
403 |
- # debug USE flag. |
404 |
- options+=($(use_enable debug)) |
405 |
- |
406 |
- # icu USE flag. |
407 |
- if use icu; then |
408 |
- # Support ICU extension. |
409 |
- # https://sqlite.org/compile.html#enable_icu |
410 |
- append-cppflags -DSQLITE_ENABLE_ICU |
411 |
- sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" |
412 |
- fi |
413 |
- |
414 |
- # readline USE flag. |
415 |
- options+=( |
416 |
- --disable-editline |
417 |
- $(use_enable readline) |
418 |
- ) |
419 |
- if use readline; then |
420 |
- options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline") |
421 |
- fi |
422 |
- |
423 |
- # secure-delete USE flag. |
424 |
- if use secure-delete; then |
425 |
- # Enable secure_delete pragma by default. |
426 |
- # https://sqlite.org/pragma.html#pragma_secure_delete |
427 |
- append-cppflags -DSQLITE_SECURE_DELETE |
428 |
- fi |
429 |
- |
430 |
- # static-libs USE flag. |
431 |
- options+=($(use_enable static-libs static)) |
432 |
- |
433 |
- # tcl, test, tools USE flags. |
434 |
- options+=(--enable-tcl) |
435 |
- |
436 |
- if [[ "${CHOST}" == *-mint* ]]; then |
437 |
- append-cppflags -DSQLITE_OMIT_WAL |
438 |
- fi |
439 |
- |
440 |
- if [[ "${ABI}" == "x86" ]]; then |
441 |
- if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then |
442 |
- append-cflags -mfpmath=sse |
443 |
- else |
444 |
- append-cflags -ffloat-store |
445 |
- fi |
446 |
- fi |
447 |
- |
448 |
- econf "${options[@]}" |
449 |
-} |
450 |
- |
451 |
-multilib_src_compile() { |
452 |
- emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" |
453 |
- |
454 |
- if use tools && multilib_is_native_abi; then |
455 |
- emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh |
456 |
- fi |
457 |
-} |
458 |
- |
459 |
-multilib_src_test() { |
460 |
- if [[ "${EUID}" -eq 0 ]]; then |
461 |
- ewarn "Skipping tests due to root permissions" |
462 |
- return |
463 |
- fi |
464 |
- |
465 |
- local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" |
466 |
- |
467 |
- emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) |
468 |
-} |
469 |
- |
470 |
-multilib_src_install() { |
471 |
- emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install |
472 |
- |
473 |
- if use tools && multilib_is_native_abi; then |
474 |
- install_tool() { |
475 |
- if [[ -f ".libs/${1}" ]]; then |
476 |
- newbin ".libs/${1}" "${2}" |
477 |
- else |
478 |
- newbin "${1}" "${2}" |
479 |
- fi |
480 |
- } |
481 |
- |
482 |
- install_tool changeset sqlite3-changeset |
483 |
- install_tool dbdump sqlite3-db-dump |
484 |
- install_tool dbhash sqlite3-db-hash |
485 |
- install_tool dbtotxt sqlite3-db-to-txt |
486 |
- install_tool index_usage sqlite3-index-usage |
487 |
- install_tool rbu sqlite3-rbu |
488 |
- install_tool scrub sqlite3-scrub |
489 |
- install_tool showdb sqlite3-show-db |
490 |
- install_tool showjournal sqlite3-show-journal |
491 |
- install_tool showshm sqlite3-show-shm |
492 |
- install_tool showstat4 sqlite3-show-stat4 |
493 |
- install_tool showwal sqlite3-show-wal |
494 |
- install_tool sqldiff sqlite3-diff |
495 |
- install_tool sqlite3_analyzer sqlite3-analyzer |
496 |
- install_tool sqlite3_checker sqlite3-checker |
497 |
- install_tool sqlite3_expert sqlite3-expert |
498 |
- install_tool sqltclsh sqlite3-tclsh |
499 |
- |
500 |
- unset -f install_tool |
501 |
- fi |
502 |
-} |
503 |
- |
504 |
-multilib_src_install_all() { |
505 |
- find "${D}" -name "*.la" -type f -delete || die |
506 |
- |
507 |
- doman sqlite3.1 |
508 |
- |
509 |
- if use doc; then |
510 |
- rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} || die |
511 |
- ( |
512 |
- docinto html |
513 |
- dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* |
514 |
- ) |
515 |
- fi |
516 |
-} |