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
+

Reply via email to