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[@]}"

Reply via email to