commit: eb8557be3a90a47619ca5510e4376934934eebf3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 21 03:45:32 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 21 03:45:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb8557be
dev-db/sqlite: add 3.45.2
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-db/sqlite/Manifest | 2 +
dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch | 112 +++++++++++++++++++++
.../{sqlite-9999.ebuild => sqlite-3.45.2.ebuild} | 17 +---
dev-db/sqlite/sqlite-9999.ebuild | 12 ---
4 files changed, 119 insertions(+), 24 deletions(-)
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
index 155c537a1dcc..f852d8fd38fa 100644
--- a/dev-db/sqlite/Manifest
+++ b/dev-db/sqlite/Manifest
@@ -1,4 +1,6 @@
DIST sqlite-doc-3440200.zip 10704552 BLAKE2B
3d50ac157bd2793c9167328994334a417835e5381e432fd8028e064869b8eab2ab1d213815d2232850d695bc71626e9d89518b201888a43673274cba2a1b345d
SHA512
a7c92af0d3a61a2450511cfb507785c7ab64c21c6dbcf5a8bdef509d25a6b3ca35ce93a25ca827497c27abca77d11b794fbbc783e4d8e131981bf1d4b29f83e8
DIST sqlite-doc-3450100.zip 10746925 BLAKE2B
6e45a33b41b8fd1e0b5ef3a44febf5ed53a19883441f0eaef6d811190a26cd072a49d254a35d5b90f92255082f91d3f7956a6e574b638b34f156f7297588b57e
SHA512
dc036737973a29ea2b6cb4fe7ab4468f449e21eed34a773600570ed2e57ed4d195286c75afec91ab76ac55e25a0cc82e73c3b3119a9c8e7b5918bae8a1a3c8c0
+DIST sqlite-doc-3450200.zip 10755940 BLAKE2B
5d70100ae972024a44a0dbe3214e0465b819710dc23e7b68e6995d2a8f66286ef4378b7bbb96bfaab2551954aa09f0aa85ebde60b5a672d5a3e2d6c739393a81
SHA512
5e80255b0030dd6dfc0f93a1d6863a35dc319c6567300ac5f4e16d15c322f0b3fc2681cae7d27de0d23bf6731069d0060b9edddf3d7e0b105c538beab53979dc
DIST sqlite-src-3440200.zip 14070781 BLAKE2B
9d29964ee15da6a104f4857cb5f2621df5b51d043012789793526f34c56097d7b1b1dcaa7672637f2d16bcab4ff775ba2c8415213b79f80636c0ff2aeff883ba
SHA512
5c1fed9c399dad75735a1b4451f8f6be474b07652d74500649e60474691923f56156ef6d5bce51b58367c1676371f1184e32584fe9ac4d5dd0c4776fa6f1d9a3
DIST sqlite-src-3450100.zip 14152147 BLAKE2B
815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153
SHA512
475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005
+DIST sqlite-src-3450200.zip 14156848 BLAKE2B
a830dce41fd6c9ef936115460ed4aa9be277688389c50545fcb5e8ee65317d3adaf51873ec789556cf293418f7059868c7ffac229dc30756ba5137431839ec69
SHA512
b6e875ab4ed24cd564330e50a87f35aae43c382f88ca86c2eedf5308c7fab683c1880c0053408e864b0cec1feb7ae81aca8a91979a3ee3975f26037a7983011a
diff --git a/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch
b/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch
new file mode 100644
index 000000000000..153dd82c1e19
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.45.2-tests-x86.patch
@@ -0,0 +1,112 @@
+https://sqlite.org/forum/forumpost/7dfd585ce1
+https://sqlite.org/src/info/d0fbe779bc2460e1
+
+Index: test/func4.test
+==================================================================
+--- a/test/func4.test
++++ b/test/func4.test
+@@ -1,6 +1,6 @@
+-# 2013 March 10
++# 2023-03-10
+ #
+ # The author disclaims copyright to this source code. In place of
+ # a legal notice, here is a blessing:
+ #
+ # May you do good and not evil.
+@@ -7,11 +7,14 @@
+ # May you find forgiveness for yourself and forgive others.
+ # May you share freely, never taking more than you give.
+ #
+ #***********************************************************************
+ # This file implements regression tests for SQLite library. The focus of
+-# this file is testing the tointeger() and toreal() functions.
++# this file is testing the tointeger() and toreal() functions that are
++# part of the "totype.c" extension. This file does not test the core
++# SQLite library. Failures of tests in this file are related to the
++# ext/misc/totype.c extension.
+ #
+ # Several of the toreal() tests are disabled on platforms where floating
+ # point precision is not high enough to represent their constant integer
+ # expression arguments as double precision floating point values.
+ #
+@@ -21,10 +24,24 @@
+ set tcl_precision 0
+ load_static_extension db totype
+
+ set highPrecision(1) [expr \
+ {[db eval {SELECT tointeger(9223372036854775807 + 1);}] eq {{}}}]
++set highPrecision(2) [expr \
++ {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}]
++
++# highPrecision(3) is only known to be false on i586 with gcc-13 and -O2.
++# It is true on the exact same platform with -O0. Both results seem
++# reasonable, so we'll just very the expectation accordingly.
++#
++set highPrecision(3) [expr \
++ {[db eval {SELECT toreal(9007199254740992 + 1);}] eq {{}}}]
++
++if {!$highPrecision(1) || !$highPrecision(2) || !$highPrecision(3)} {
++ puts "NOTICE: use_long_double: [use_long_double] \
++ highPrecision: $highPrecision(1) $highPrecision(2) $highPrecision(3)"
++}
+
+ do_execsql_test func4-1.1 {
+ SELECT tointeger(NULL);
+ } {{}}
+ do_execsql_test func4-1.2 {
+@@ -193,12 +210,10 @@
+ do_execsql_test func4-1.55 {
+ SELECT tointeger(18446744073709551616 + 1);
+ } {{}}
+
+ ifcapable floatingpoint {
+- set highPrecision(2) [expr \
+- {[db eval {SELECT toreal(-9223372036854775808 + 1);}] eq {{}}}]
+
+ do_execsql_test func4-2.1 {
+ SELECT toreal(NULL);
+ } {{}}
+ do_execsql_test func4-2.2 {
+@@ -339,14 +354,18 @@
+ SELECT toreal(9007199254740992 - 1);
+ } {9007199254740991.0}
+ do_execsql_test func4-2.45 {
+ SELECT toreal(9007199254740992);
+ } {9007199254740992.0}
+- if {$highPrecision(2)} {
++ if {$highPrecision(3)} {
++ do_execsql_test func4-2.46 {
++ SELECT toreal(9007199254740992 + 1);
++ } {{}}
++ } else {
+ do_execsql_test func4-2.46 {
+ SELECT toreal(9007199254740992 + 1);
+- } {{}}
++ } {9007199254740992.0}
+ }
+ do_execsql_test func4-2.47 {
+ SELECT toreal(9007199254740992 + 2);
+ } {9007199254740994.0}
+ do_execsql_test func4-2.48 {
+@@ -624,14 +643,18 @@
+ SELECT tointeger(toreal(9007199254740992 - 1));
+ } {9007199254740991}
+ do_execsql_test func4-5.22 {
+ SELECT tointeger(toreal(9007199254740992));
+ } {9007199254740992}
+- if {$highPrecision(2)} {
++ if {$highPrecision(3)} {
+ do_execsql_test func4-5.23 {
+ SELECT tointeger(toreal(9007199254740992 + 1));
+ } {{}}
++ } else {
++ do_execsql_test func4-5.23 {
++ SELECT tointeger(toreal(9007199254740992 + 1));
++ } {9007199254740992}
+ }
+ do_execsql_test func4-5.24 {
+ SELECT tointeger(toreal(9007199254740992 + 2));
+ } {9007199254740994}
+ if {$highPrecision(1)} {
+
+
diff --git a/dev-db/sqlite/sqlite-9999.ebuild
b/dev-db/sqlite/sqlite-3.45.2.ebuild
similarity index 95%
copy from dev-db/sqlite/sqlite-9999.ebuild
copy to dev-db/sqlite/sqlite-3.45.2.ebuild
index 40b16d903620..46c442c73331 100644
--- a/dev-db/sqlite/sqlite-9999.ebuild
+++ b/dev-db/sqlite/sqlite-3.45.2.ebuild
@@ -50,6 +50,11 @@ else
BDEPEND+=" app-arch/unzip"
fi
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
+ "${FILESDIR}"/${PN}-3.45.2-tests-x86.patch
+)
+
_fossil_fetch() {
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
local repo_id="${1}"
@@ -314,18 +319,6 @@ multilib_src_configure() {
else
append-cflags -ffloat-store
fi
-
- # Skip known-broken test for now
- # https://sqlite.org/forum/forumpost/d97caf168f
- # https://sqlite.org/forum/forumpost/50f136d91d
- # Quoting Fedora's spec:
- # "The atof test is failing on the i686 architecture, when
binary configured with
- # --enable-rtree option. Failing part is text->real conversion
and
- # text->real->text conversion in lower significant values
after decimal point in a number.
- # func4 tests fail for i686 on float<->int conversions."
- if use test ; then
- rm test/atof1.test test/func4.test || die
- fi
fi
econf "${options[@]}"
diff --git a/dev-db/sqlite/sqlite-9999.ebuild b/dev-db/sqlite/sqlite-9999.ebuild
index 40b16d903620..7570a655878b 100644
--- a/dev-db/sqlite/sqlite-9999.ebuild
+++ b/dev-db/sqlite/sqlite-9999.ebuild
@@ -314,18 +314,6 @@ multilib_src_configure() {
else
append-cflags -ffloat-store
fi
-
- # Skip known-broken test for now
- # https://sqlite.org/forum/forumpost/d97caf168f
- # https://sqlite.org/forum/forumpost/50f136d91d
- # Quoting Fedora's spec:
- # "The atof test is failing on the i686 architecture, when
binary configured with
- # --enable-rtree option. Failing part is text->real conversion
and
- # text->real->text conversion in lower significant values
after decimal point in a number.
- # func4 tests fail for i686 on float<->int conversions."
- if use test ; then
- rm test/atof1.test test/func4.test || die
- fi
fi
econf "${options[@]}"