mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-29 13:56:36 +01:00
gnu: sbcl: Fix build on aarch64.
sbcl 2.2.10 currently doesn't build on aarch64. Upstream has fixed the issue (https://bugs.launchpad.net/sbcl/+bug/1996942), but this patch is needed until the next release. * gnu/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/lisp.scm (sbcl)[source]: Use it. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
This commit is contained in:
parent
854bdb7ba9
commit
cc08d374b2
3 changed files with 31 additions and 0 deletions
|
@ -1832,6 +1832,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
|
||||
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
|
||||
%D%/packages/patches/sbcl-clml-fix-types.patch \
|
||||
%D%/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch \
|
||||
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
|
||||
%D%/packages/patches/scalapack-gcc-10-compilation.patch \
|
||||
%D%/packages/patches/scheme48-tests.patch \
|
||||
|
|
|
@ -429,6 +429,9 @@ (define-public sbcl
|
|||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
|
||||
version "-source.tar.bz2"))
|
||||
(patches
|
||||
;; TODO: remove this patch when updating to sbcl > 2.2.10.
|
||||
(search-patches "sbcl-fix-build-on-arm64-with-clisp-as-host.patch"))
|
||||
(sha256
|
||||
(base32 "0cq8x4svkawirxq5s5gs4qxkl23m4q5p722a2kpss8qjfslc7hwc"))))
|
||||
(build-system gnu-build-system)
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
From 944f53fb00794f4bc96700dd14df1e88b6cd5623 Mon Sep 17 00:00:00 2001
|
||||
From: Christophe Rhodes <csr21@cantab.net>
|
||||
Date: Thu, 17 Nov 2022 22:29:26 +0000
|
||||
Subject: [PATCH] Fix build on arm64 with clisp as host
|
||||
|
||||
Make sure the offset constants are defined while compiling vm.lisp.
|
||||
---
|
||||
src/compiler/arm64/vm.lisp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/compiler/arm64/vm.lisp b/src/compiler/arm64/vm.lisp
|
||||
index ae6d7c7fa..2a151be58 100644
|
||||
--- a/src/compiler/arm64/vm.lisp
|
||||
+++ b/src/compiler/arm64/vm.lisp
|
||||
@@ -23,7 +23,8 @@
|
||||
(macrolet ((defreg (name offset)
|
||||
(let ((offset-sym (symbolicate name "-OFFSET")))
|
||||
`(progn
|
||||
- (defconstant ,offset-sym ,offset)
|
||||
+ (eval-when (:compile-toplevel :load-toplevel :execute)
|
||||
+ (defconstant ,offset-sym ,offset))
|
||||
(setf (svref *register-names* ,offset-sym) ,(symbol-name name)))))
|
||||
|
||||
(defregset (name &rest regs)
|
||||
--
|
||||
2.30.2
|
||||
|
Loading…
Reference in a new issue