summaryrefslogtreecommitdiff
path: root/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch
diff options
context:
space:
mode:
authorBrahmajit Das <listout@listout.xyz>2025-06-14 00:25:19 +0530
committerJoonas Niilola <juippis@gentoo.org>2025-06-14 08:12:41 +0300
commit318fd78385c5d25f4015461b8f0242a9c6ec25a1 (patch)
treea642bb302a085e3725f7cc24d76aa032c1df407b /dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch
parent0b68483167d72179a18068bdd3d3493776232551 (diff)
downloadgentoo-318fd78385c5d25f4015461b8f0242a9c6ec25a1.tar.gz
gentoo-318fd78385c5d25f4015461b8f0242a9c6ec25a1.tar.bz2
gentoo-318fd78385c5d25f4015461b8f0242a9c6ec25a1.zip
dev-libs/cowsql: remove libuv 1.50* restriction
cowsql defines float_t to double in src/lib/serialize.h which conflicts with newer libuv, since uv.h includes math.h for the definitions of NAN/INFINITY. This is a hack that changes the definitions of float_t to float_cow to avoid conflict. Please refer: cowsql/cowsql#35. This mainly due to https://bugs.gentoo.org/957996, where net-libs/nodejs-24.2.0 is failing due to missing new libuv. Bug: https://bugs.gentoo.org/955693 Signed-off-by: Brahmajit Das <listout@listout.xyz> Part-of: https://github.com/gentoo/gentoo/pull/42579 Closes: https://github.com/gentoo/gentoo/pull/42579 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch')
-rw-r--r--dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch b/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch
new file mode 100644
index 000000000000..29e8a1c2390e
--- /dev/null
+++ b/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch
@@ -0,0 +1,54 @@
+https://github.com/cowsql/cowsql/pull/37
+From: Brahmajit Das <listout@listout.xyz>
+Date: Sat, 14 Jun 2025 00:18:38 +0530
+Subject: [PATCH] src/lib/serialize.h: don't define double as float_t
+
+libuv with commit 85b526f makes uv.h include math.h for the definitions
+of NAN/INFINITY. That header also defines the ISO C standard float_t
+type. Now that that definition is in scope, the cowsql definition in
+src/lib/serialize.h conflicts with it.
+
+Fixes: 451cff63b29366237a9502823299b05bbff8662b
+Closes: https://github.com/cowsql/cowsql/issues/35
+Signed-off-by: Brahmajit Das <listout@listout.xyz>
+--- a/src/lib/serialize.h
++++ b/src/lib/serialize.h
+@@ -37,7 +37,7 @@ static_assert(sizeof(double) == sizeof(uint64_t),
+ * Basic type aliases to used by macro-based processing.
+ */
+ typedef const char *text_t;
+-typedef double float_t;
++typedef double cowsql_float;
+ typedef uv_buf_t blob_t;
+
+ /**
+@@ -143,7 +143,7 @@ COWSQL_INLINE size_t int64__sizeof(const int64_t *value)
+ return sizeof(int64_t);
+ }
+
+-COWSQL_INLINE size_t float__sizeof(const float_t *value)
++COWSQL_INLINE size_t float__sizeof(const cowsql_float *value)
+ {
+ (void)value;
+ return sizeof(double);
+@@ -190,7 +190,7 @@ COWSQL_INLINE void int64__encode(const int64_t *value, void **cursor)
+ *cursor += sizeof(int64_t);
+ }
+
+-COWSQL_INLINE void float__encode(const float_t *value, void **cursor)
++COWSQL_INLINE void float__encode(const cowsql_float *value, void **cursor)
+ {
+ *(uint64_t *)(*cursor) = ByteFlipLe64(*(uint64_t *)value);
+ *cursor += sizeof(uint64_t);
+@@ -273,7 +273,7 @@ COWSQL_INLINE int int64__decode(struct cursor *cursor, int64_t *value)
+ return 0;
+ }
+
+-COWSQL_INLINE int float__decode(struct cursor *cursor, float_t *value)
++COWSQL_INLINE int float__decode(struct cursor *cursor, cowsql_float *value)
+ {
+ size_t n = sizeof(double);
+ if (n > cursor->cap) {
+--
+2.49.0
+