dev-libs/cowsql: Sync with Gentoo

It's from Gentoo commit e392efb25d1ff08cb9848144b256e2344651033d.
This commit is contained in:
Flatcar Buildbot 2025-06-16 07:07:56 +00:00 committed by Krzesimir Nowak
parent 903ec1dfdc
commit 77e841fa88
5 changed files with 164 additions and 1 deletions

View File

@ -1 +1,2 @@
DIST cowsql-1.15.7.tar.gz 364592 BLAKE2B d3cd4e399d029c63743cee081cd32c19fe364f4dd093c40f62162a2387a9a0da956b19f2f75dc9e556e18c8d957edcbee5c9fe449e3ba9961eb556cdc981a6e5 SHA512 d01fe084d911f13be4d21997f3ec4ba1b11d15198dbad404d55962abd4924dcc95d48eb7d8d94d3f65c512194d25acf761954994c5ffece78a27eff438441fda DIST cowsql-1.15.7.tar.gz 364592 BLAKE2B d3cd4e399d029c63743cee081cd32c19fe364f4dd093c40f62162a2387a9a0da956b19f2f75dc9e556e18c8d957edcbee5c9fe449e3ba9961eb556cdc981a6e5 SHA512 d01fe084d911f13be4d21997f3ec4ba1b11d15198dbad404d55962abd4924dcc95d48eb7d8d94d3f65c512194d25acf761954994c5ffece78a27eff438441fda
DIST cowsql-1.15.8.tar.gz 364600 BLAKE2B 14fcc1a77351e433962aa4ccde671ee11839f2a69606d5b130f5fe168012ee39dba254f23fb338e246f5215bb15c1e14958818d71008bb03afac7fea8733efec SHA512 3946433897efb190edec4d6900d7bdc40d3b25c07d732526b7d83fe2c38269a5525c6e9d352f017709ecf2a9e6ea908462b1b31fe31b4d02699a89834f3f3ce3

View File

@ -16,7 +16,7 @@ IUSE="test"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
RDEPEND="dev-db/sqlite:3 RDEPEND="dev-db/sqlite:3
dev-libs/libuv:= =dev-libs/libuv-1.50*:=
>=dev-libs/raft-0.18.1:=" >=dev-libs/raft-0.18.1:="
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
test? ( dev-libs/raft[lz4,test] )" test? ( dev-libs/raft[lz4,test] )"

View File

@ -0,0 +1,56 @@
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3-with-linking-exception"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-db/sqlite:3
dev-libs/libuv:=
>=dev-libs/raft-0.18.1:="
DEPEND="${RDEPEND}
test? ( dev-libs/raft[lz4,test] )"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/dqlite-1.12.0-disable-werror.patch
"${FILESDIR}"/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-backtrace
--disable-debug
--disable-sanitize
--disable-static
# Will build a bundled libsqlite3.so.
--enable-build-sqlite=no
)
econf "${myeconfargs[@]}"
}
src_test() {
default
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,52 @@
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3-with-linking-exception"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-db/sqlite:3
dev-libs/libuv:=
>=dev-libs/raft-0.18.1:="
DEPEND="${RDEPEND}
test? ( dev-libs/raft[lz4,test] )"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/dqlite-1.12.0-disable-werror.patch
"${FILESDIR}"/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-backtrace
--disable-debug
--disable-sanitize
--disable-static
# Will build a bundled libsqlite3.so.
--enable-build-sqlite=no
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

View File

@ -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