mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-10 00:10:19 +03:00
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>
55 lines
1.8 KiB
Diff
55 lines
1.8 KiB
Diff
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
|
|
|