From 76d77908d6f599d9e65d2a3e7b5cdf29376a361b Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 16 Feb 2026 06:31:29 -0800 Subject: [PATCH] sbclPackages.named-readtables: fix build with SBCL 2.6.0 SBCL commit 00eabf5 changed the readtable's base-char-macro-array to store 0 instead of NIL for non-macro characters. Since (if 0 ...) is truthy in Common Lisp, the named-readtables readtable iterator incorrectly yields all characters, causing assertion failures in check-reader-macro-conflict when packages like cl-interpol, pythonic-string-reader, and antik-base merge readtables. Apply upstream fix from melisgl/named-readtables@6eea566. --- pkgs/development/lisp-modules/ql.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/lisp-modules/ql.nix b/pkgs/development/lisp-modules/ql.nix index 725a6353f983..ffa7c0d08aa4 100644 --- a/pkgs/development/lisp-modules/ql.nix +++ b/pkgs/development/lisp-modules/ql.nix @@ -12,6 +12,15 @@ let overrides = ( self: super: { + named-readtables = super.named-readtables.overrideLispAttrs (o: { + patches = (o.patches or [ ]) ++ [ + (pkgs.fetchpatch { + name = "named-readtables-sbcl-fix.patch"; + url = "https://github.com/melisgl/named-readtables/commit/6eea56674442b884a4fee6ede4c8aad63541aa5b.patch"; + hash = "sha256-ZkmBz50tkJutCNhrgVTHyE+sxRjmL8y7YC7yewrmves="; + }) + ]; + }); cl_plus_ssl = super.cl_plus_ssl.overrideLispAttrs (o: { nativeLibs = [ pkgs.openssl ]; });