friendly weekly ping (while here also dropped the last rcs id in patches)
Omar Polo <o...@openbsd.org> wrote: > 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 10 Mar 2022 16:50:39 -0000 @@ -0,0 +1,27 @@ +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: patches/patch-src_runtime_Config_generic-openbsd =================================================================== RCS file: /home/cvs/ports/lang/sbcl/patches/patch-src_runtime_Config_generic-openbsd,v retrieving revision 1.5 diff -u -p -r1.5 patch-src_runtime_Config_generic-openbsd --- patches/patch-src_runtime_Config_generic-openbsd 28 May 2021 16:23:31 -0000 1.5 +++ patches/patch-src_runtime_Config_generic-openbsd 10 Mar 2022 16:51:13 -0000 @@ -1,5 +1,3 @@ -$OpenBSD: patch-src_runtime_Config_generic-openbsd,v 1.5 2021/05/28 16:23:31 solene Exp $ - Don't try to guess (wrong) with clang. Just assume we have pie Index: src/runtime/Config.generic-openbsd Index: patches/patch-src_runtime_GNUmakefile =================================================================== RCS file: /home/cvs/ports/lang/sbcl/patches/patch-src_runtime_GNUmakefile,v retrieving revision 1.10 diff -u -p -r1.10 patch-src_runtime_GNUmakefile --- patches/patch-src_runtime_GNUmakefile 28 May 2021 16:23:31 -0000 1.10 +++ patches/patch-src_runtime_GNUmakefile 10 Mar 2022 16:50:57 -0000 @@ -1,4 +1,3 @@ -$OpenBSD: patch-src_runtime_GNUmakefile,v 1.10 2021/05/28 16:23:31 solene Exp $ Index: src/runtime/GNUmakefile --- src/runtime/GNUmakefile.orig +++ src/runtime/GNUmakefile Index: patches/patch-src_runtime_gc-common_c =================================================================== RCS file: /home/cvs/ports/lang/sbcl/patches/patch-src_runtime_gc-common_c,v retrieving revision 1.4 diff -u -p -r1.4 patch-src_runtime_gc-common_c --- patches/patch-src_runtime_gc-common_c 28 May 2021 16:23:31 -0000 1.4 +++ patches/patch-src_runtime_gc-common_c 10 Mar 2022 16:50:54 -0000 @@ -1,4 +1,3 @@ -$OpenBSD: patch-src_runtime_gc-common_c,v 1.4 2021/05/28 16:23:31 solene Exp $ ffsl is non-standard, but both gcc and clang have it as builtin... clang only has it as builtin 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