public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/nanomsg/files/, dev-libs/nanomsg/
@ 2024-12-27 15:48 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-12-27 15:48 UTC (permalink / raw
  To: gentoo-commits

commit:     32f70be06d68b63c63e6c2bd704bf943a62f25df
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 27 15:47:47 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 27 15:47:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32f70be0

dev-libs/nanomsg: fix chunking

Pull in a patch which upstream have acked on the upstream bug but
not yet merged/put in a release. This fixes criterion's testsuite.

Thanks to matoro and emily.

Closes: https://bugs.gentoo.org/934665
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/nanomsg/files/nanomsg-1.2.1-chunk.patch | 49 ++++++++++++++++++++++++
 dev-libs/nanomsg/nanomsg-1.2.1-r1.ebuild         | 40 +++++++++++++++++++
 2 files changed, 89 insertions(+)

diff --git a/dev-libs/nanomsg/files/nanomsg-1.2.1-chunk.patch b/dev-libs/nanomsg/files/nanomsg-1.2.1-chunk.patch
new file mode 100644
index 000000000000..7d6cec725939
--- /dev/null
+++ b/dev-libs/nanomsg/files/nanomsg-1.2.1-chunk.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/934665
+https://github.com/nanomsg/nanomsg/issues/1111#issuecomment-2113151297
+(acked by upstream at https://github.com/nanomsg/nanomsg/issues/1111#issuecomment-2305516234)
+
+--- a/src/utils/chunkref.c
++++ b/src/utils/chunkref.c
+@@ -52,6 +52,7 @@
+ {
+     if (self->size == NN_CHUNKREF_EXT) {
+         nn_chunk_free (self->u.chunk);
++        self->size = 0;
+     }
+ }
+ 
+@@ -80,6 +81,8 @@
+     dst->size = src->size;
+     if (src->size == NN_CHUNKREF_EXT) {
+         dst->u.chunk = src->u.chunk;
++        // self->u.chunk = NULL;
++        // src->size = 0;
+     } else {
+         nn_assert (src->size <= NN_CHUNKREF_MAX);
+         memcpy (dst->u.ref, src->u.ref, src->size);
+@@ -100,7 +103,7 @@
+ 
+ void *nn_chunkref_data (struct nn_chunkref *self)
+ {
+-    if (self->size > NN_CHUNKREF_MAX) {
++    if (self->size == NN_CHUNKREF_EXT) {
+         return self->u.chunk;
+     } else {
+         return self->u.ref;
+@@ -109,7 +112,7 @@
+ 
+ size_t nn_chunkref_size (struct nn_chunkref *self)
+ {
+-    if (self->size > NN_CHUNKREF_MAX) {
++    if (self->size == NN_CHUNKREF_EXT) {
+         return (nn_chunk_size(self->u.chunk));
+     }
+     return self->size;
+@@ -118,7 +121,7 @@
+ void nn_chunkref_trim (struct nn_chunkref *self, size_t n)
+ {
+     if (self->size == NN_CHUNKREF_EXT) {
+-        nn_chunk_trim (self->u.chunk, n);
++        self->u.chunk = nn_chunk_trim(self->u.chunk, n);
+         return;
+     }

diff --git a/dev-libs/nanomsg/nanomsg-1.2.1-r1.ebuild b/dev-libs/nanomsg/nanomsg-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..d99d9f30243a
--- /dev/null
+++ b/dev-libs/nanomsg/nanomsg-1.2.1-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="High-performance messaging interface for distributed applications"
+HOMEPAGE="https://nanomsg.org/"
+SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/6.0.1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~riscv x86"
+IUSE="doc"
+
+BDEPEND="doc? ( dev-ruby/asciidoctor )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.2.1-chunk.patch
+)
+
+src_prepare() {
+	# Old CPUs like HPPA fails test because of timeout
+	sed -i \
+		-e '/inproc_shutdown/s/10/80/' \
+		-e '/ws_async_shutdown/s/10/80/' \
+		-e '/ipc_shutdown/s/40/80/' CMakeLists.txt || die
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DNN_STATIC_LIB=OFF
+		-DNN_ENABLE_DOC=$(usex doc)
+	)
+
+	cmake_src_configure
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-12-27 15:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-27 15:48 [gentoo-commits] repo/gentoo:master commit in: dev-libs/nanomsg/files/, dev-libs/nanomsg/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox