Joshua Elsasser <j...@elsasser.org> wrote:
> I will try to find some time to take a look at it this week. For what
> it's worth, 32-bit powerpc is usually a bit broken on non-openbsd
> platforms as well. I have a couple g4 mac minis that I can test on,
> assuming they haven't died.

thanks for looking into this :)

in the meantime sbcl 2.2.2 was released, please find attached an updated
diff.  The capstone fix didn't make in time for 2.2.2 but should be
available in a next version.

> Switching to ECL as the cross-build host is something what we probably
> want to do, as it would also allow sbcl to be build on arm and
> arm64. I had a version of the port which did this but as you saw, it
> was rather slower than with clisp.

(I don't have any arm or arm64 hw to help with that unfortunately)

I think we could keep clisp on powerpc and amd64 and use ecl for other
arches eventually, or do you prefer to always use the same CL
implementation on all architecture to build sbcl?

(I've also removed the RCS id from the makefile and plist as per recent
developments since I was here)

Cheers,

Omar Polo


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/lang/sbcl/Makefile,v
retrieving revision 1.47
diff -u -p -r1.47 Makefile
--- Makefile    31 Dec 2021 09:53:11 -0000      1.47
+++ Makefile    3 Mar 2022 14:09:51 -0000
@@ -1,35 +1,15 @@
-# $OpenBSD: Makefile,v 1.47 2021/12/31 09:53:11 solene Exp $
-
-BROKEN-i386 =          build fails in "Compiling file 
[...]/src/compiler/generic/genesis.lisp"
-# ;; Compiling file 
/pobj/sbcl-2.0.1/sbcl-2.0.1/src/compiler/generic/genesis.lisp ...
-# ;; Wrote file 
/pobj/sbcl-2.0.1/sbcl-2.0.1/obj/from-host/src/compiler/generic/genesis.fas-tmp
-# 0 errors, 0 warnings
-# ;;  Loading file obj/from-host/src/compiler/generic/genesis.fas ...
-# ;;  Loaded file obj/from-host/src/compiler/generic/genesis.fas
-# *** - OPEN: File
-#       #P"/pobj/sbcl-2.0.1/sbcl-2.0.1/obj/from-xc/tls-init.lisp-expr" does not
-#       exist
-# The following restarts are available:
-# SKIP           :R1      skip (GENESIS OBJECT-FILE-NAMES # ...)
-# RETRY          :R2      retry (GENESIS OBJECT-FILE-NAMES # ...)
-# STOP           :R3      stop loading file 
/pobj/sbcl-2.0.1/sbcl-2.0.1/make-genesis-2.lisp
-# ABORT-BUILD    :R4      Abort building SBCL.
-# ABORT          :R5      Abort main loop
-# //testing for consistency of first and second GENESIS passes
-# diff: output/genesis-2: No such file or directory   
-# error: header files do not match between first and second GENESIS
-
 # not yet ported to other arches
 ONLY_FOR_ARCHS =       amd64 i386 powerpc
 USE_WXNEEDED =         Yes
 
 COMMENT=               compiler and runtime system for ANSI Common Lisp
 
-V =                    2.1.11
+V =                    2.2.2
 DISTNAME=              sbcl-${V}-source
 PKGNAME=               sbcl-${V}
 WRKDIST=               ${WRKDIR}/sbcl-${V}
 EXTRACT_SUFX=          .tar.bz2
+PATCHORIG =            .orig.port
 
 CATEGORIES=            lang
 HOMEPAGE=              http://www.sbcl.org/
@@ -58,10 +38,17 @@ WANTLIB+=           pthread
 MAKE_PARAMS +=         --with-sb-core-compression \
                        --with-sb-xref-for-internals
 
+# contrib/sb-capstone/test.lisp uses it at build-time if present
+BUILD_DEPENDS =                devel/capstone/main
+
 .if ${FLAVOR:Mnative_bootstrap}
 BUILD_DEPENDS+=                lang/sbcl
 BOOTSTRAP_CMD=         ${LOCALBASE}/bin/sbcl \
                        --disable-debugger --no-sysinit --no-userinit
+.elif ${MACHINE_ARCH:Mi386}
+# ecl is slower but lang/clisp fails to build sbcl on i386
+BUILD_DEPENDS +=       lang/ecl
+BOOTSTRAP_CMD =                ${LOCALBASE}/bin/ecl -q --norc
 .else
 BUILD_DEPENDS +=       lang/clisp
 BOOTSTRAP_CMD =                ${LOCALBASE}/bin/clisp -q -norc
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/lang/sbcl/distinfo,v
retrieving revision 1.21
diff -u -p -r1.21 distinfo
--- distinfo    31 Dec 2021 09:53:11 -0000      1.21
+++ distinfo    3 Mar 2022 11:32:07 -0000
@@ -1,2 +1,2 @@
-SHA256 (sbcl-2.1.11-source.tar.bz2) = 
v8FIHef9vfru8qsPDo6E79NDQz3qjSHPvqiwFGy9/v0=
-SIZE (sbcl-2.1.11-source.tar.bz2) = 6687529
+SHA256 (sbcl-2.2.2-source.tar.bz2) = 
h5DbvpdxHc4Uu4IxJc5bGFsAc88vPL83vdGtOA55UPY=
+SIZE (sbcl-2.2.2-source.tar.bz2) = 6716272
Index: patches/patch-contrib_sb-capstone_capstone_lisp
===================================================================
RCS file: patches/patch-contrib_sb-capstone_capstone_lisp
diff -N patches/patch-contrib_sb-capstone_capstone_lisp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-contrib_sb-capstone_capstone_lisp     24 Feb 2022 16:05:26 
-0000
@@ -0,0 +1,29 @@
+$OpenBSD$
+
+sync a couple of size mismatches with capstone.h; fixes the build on
+32bit arches (i386, powerpc.)
+
+Index: contrib/sb-capstone/capstone.lisp
+--- contrib/sb-capstone/capstone.lisp.orig
++++ contrib/sb-capstone/capstone.lisp
+@@ -285,7 +285,7 @@
+ (define-alien-type cs-insn
+     (struct nil
+             (insn-id int)
+-            (insn-addr unsigned)
++            (insn-addr (unsigned 64))
+             (insn-size short)
+             (insn-bytes (array char 16))
+             (insn-mnemonic (array char 32))
+@@ -310,9 +310,9 @@
+ 
+ ;; The handle returned by cs-open will be represented as being of type 
unsigned
+ 
+-(define-alien-routine cs-open int (arch int) (mode (integer 64)) (handle 
unsigned :out))
++(define-alien-routine cs-open int (arch int) (mode unsigned-int) (handle 
unsigned :out))
+ 
+-(define-alien-routine cs-version unsigned (major int :out) (minor int :out))
++(define-alien-routine cs-version unsigned-int (major int :out) (minor int 
:out))
+ 
+ (define-alien-routine cs-close int (handle unsigned :in-out))
+ 
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/lang/sbcl/pkg/PLIST,v
retrieving revision 1.13
diff -u -p -r1.13 PLIST
--- pkg/PLIST   31 Dec 2021 09:53:11 -0000      1.13
+++ pkg/PLIST   3 Mar 2022 13:59:53 -0000
@@ -1,4 +1,3 @@
-@comment $OpenBSD: PLIST,v 1.13 2021/12/31 09:53:11 solene Exp $
 @bin bin/sbcl
 @info info/asdf.info
 @info info/sbcl.info

Reply via email to