This is an automated email from the git hooks/post-receive script.
guix_mirror_bot pushed a commit to branch master
in repository guix.
The following commit(s) were added to refs/heads/master by this push:
new 03e0062b7c gnu: sbcl-cl-posix-mqueue: Fix struct size on linux.
03e0062b7c is described below
commit 03e0062b7c4ee9b4606730ea116aa75ddc617acb
Author: Simen Endsjø <[email protected]>
AuthorDate: Tue Mar 3 23:18:17 2026 +0100
gnu: sbcl-cl-posix-mqueue: Fix struct size on linux.
* gnu/packages/patches/sbcl-cl-posix-mqueue-mqattr-size.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/lisp-xyz.scm (sbcl-cl-posix-mqueue)[source]: Use it.
Change-Id: If5f192ef2c3353a76b4eac82ba67d3cb661ef8ad
Signed-off-by: jgart <[email protected]>
---
gnu/local.mk | 1 +
gnu/packages/lisp-xyz.scm | 3 ++
.../patches/sbcl-cl-posix-mqueue-mqattr-size.patch | 35 ++++++++++++++++++++++
3 files changed, 39 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index fd063ec5f1..6696ee44ee 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2398,6 +2398,7 @@ dist_patch_DATA =
\
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
%D%/packages/patches/sbcl-ciel-repl.patch \
%D%/packages/patches/sbcl-clml-fix-types.patch \
+ %D%/packages/patches/sbcl-cl-posix-mqueue-mqattr-size.patch \
%D%/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
%D%/packages/patches/sbcl-lack-fix-tests.patch \
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 6cdd84f63a..a8344e90b2 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -9311,6 +9311,9 @@ using bindings to the portaudio library.")
(url "https://github.com/xFA25E/cl-posix-mqueue")
(commit version)))
(file-name (git-file-name "cl-posix-mqueue" version))
+ ;; This patch has not yet been merged upstream, ref
+ ;; https://github.com/xFA25E/cl-posix-mqueue/pull/4
+ (patches (search-patches "sbcl-cl-posix-mqueue-mqattr-size.patch"))
(sha256
(base32 "1c6002yqliqqwsnn08bx9n9ap7nx8ypjxnvhp65g01fqdcx7bpq7"))))
(build-system asdf-build-system/sbcl)
diff --git a/gnu/packages/patches/sbcl-cl-posix-mqueue-mqattr-size.patch
b/gnu/packages/patches/sbcl-cl-posix-mqueue-mqattr-size.patch
new file mode 100644
index 0000000000..972df9cd8d
--- /dev/null
+++ b/gnu/packages/patches/sbcl-cl-posix-mqueue-mqattr-size.patch
@@ -0,0 +1,35 @@
+From d9238276001fdb2174dc1c74d3b7566ab851d4b8 Mon Sep 17 00:00:00 2001
+Message-ID:
<d9238276001fdb2174dc1c74d3b7566ab851d4b8.1772575988.git.cont...@simendsjo.me>
+From: =?UTF-8?q?Simen=20Endsj=C3=B8?= <[email protected]>
+Date: Tue, 3 Mar 2026 23:08:56 +0100
+Subject: [PATCH] fix(types): add 32 additional bytes for mq-attr on linux.
+
+mq-attr is defined as *at least* 32 bytes, but linux reserves an
+additional 32 bytes for future use.
+
+SBCL 2.6.1 and 2.6.2 crashes when running the test suite.
+
+Ref
+-
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/mqueue.h#n33
+- https://bugs.launchpad.net/sbcl/+bug/2143167
+---
+ src/types.lisp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/types.lisp b/src/types.lisp
+index 206bc6c..c6cb846 100644
+--- a/src/types.lisp
++++ b/src/types.lisp
+@@ -70,7 +70,8 @@ non-blocking flag."
+ (mq-flags mq-flags)
+ (mq-maxmsg :long)
+ (mq-msgsize :long)
+- (mq-curmsgs :long))
++ (mq-curmsgs :long)
++ #+linux (%reserved :long :count 4))
+
+ (defcstruct timespec
+ "Timespec CStruct that specifies time in seconds and nanosecands."
+--
+2.52.0
+